Tuesday, April 26, 2011

Tools to check whether links are 404ing

Checking whether all links are working properly in one of the worst nightmares of a tester. Firefox has come with an addon, PINGER to check whether any link is 404ing.

After installing the addon, right click on the page to render the context menu. There will be the option "Ping All links". Click on it to check whether any links are 404ing. Once the test is run, the different links in the page will be colored based on the type of link.

Check the options of pinger addon the see the different options provided.Firefox is claiming that it is much faster than other tools. My own experience also proves the same.

Monday, April 11, 2011

Maven and Selenium

Sample pom for testng based selenium script

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Sample</groupId>
  <artifactId>Sample</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
 <build>
  <plugins>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.6</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
  </plugins>
 </build>
  <dependencies>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>5.8</version>
      <classifier>jdk15</classifier>
    </dependency>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium</artifactId>
      <version>2.0b3</version>
      <type>pom</type>
    </dependency>
  </dependencies>
</project>



Sample  selenium code


package foo;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;


public class MavenBackedSelenium
{

    WebDriver webdriver;
    WebDriverBackedSelenium selenium;


    @BeforeClass
    public void firstTest()
    {
        webdriver = new FirefoxDriver();
        selenium = new WebDriverBackedSelenium(webdriver, "");

    }

    @Test
    public void openGoogle(){
        String page = "http://www.google.com";
        selenium.open(page);
        selenium.type("q", "water");
        selenium.click("search");

    }

    @AfterClass
    public void closeSession(){
        selenium.close();
    }

}

Monday, March 21, 2011

Hudson slave in remote windows machine

Here i am using hudson slave to run an automation script which is written using selenium. As my local machine is not having the required browser, best option before me is to use the hudson slave.

In my local machine the hudson console is opened using http://hudon_jack:8080

Steps to set up remote slave

1.Login in to remote machine.

2.Enter the following url into any browser

http://hudon_jack:8080/

If you are in some vpn or other network use the ip of the local machine.

http://local machine ip:8080/

3.From the "Manage Hudson" page click on "Manage Nodes".

4.Click on "New Node" to create a new slave node. Give a new name for node and save the settings.

5.Enter the details like "# of executers" and "remote FS root". "remote FS root" is the folder where user intends to set up the workspace. Under "Node Properties" user needs to specify the tools used for execution of the project. If maven is used specify the directory location of maven. Similar of the case of java.

There are various ways to start the slave agent. Here i will mention about starting a slave agent using jnlp.

6.Open cmd and execute this
java -jar slave.jar -jnlpUrl http://hudson_jack:8080/computer/slave_node_name/slave-agent.jnlp

Where slave_node_name is the name of the newly created slave node. Now a tcp/ip connection is established between slave and master.
slave.jar should be downloaded or it will be available in the folder assigned for slave.

Steps to run a test in slave

1. From the local machine open the hudson console.

2. Select the newly created slave job and check the radio button "Restrict where this project can be run" and give the name of the slave node just created.

Tuesday, March 15, 2011

Public transport system

You will have to spend at least an hour every day waiting for bus

idbi

I have been usind idbi demat service for some time

Railways

I recently had to travel from Alleppy to Nagercoil.