Road to Calabash Android automation setup

Calabash is open source, cross-platform automation tool, supporting Android and iOS based native application.

Ruby Installation: download ruby version greater than 1.8.7 and less than 2.0 from link “http://rubyinstaller.org/downloads/”. Install downloaded ruby setup file into your machine.

Android SDK: download and install android sdk from link: “http://developer.android.com/sdk/index.html” for more details how to setup and install Android SDK visit link “http://developer.android.com/sdk/installing/index.html”.
After installation, setup “ANDROID-HOME” path in your system’s environment variable.
Click link "more detail" how to create android virtual device.

Road to data driven testing in webdriver java TestNg Part 1

In this post I am going to see you, how to perform data driven testing in java webdriver. In this post I read data from external excel file and use those data in test script.
For this I use java “poi” jar file to read excel file. Using poi java library I created below java class to read data from excel file and return data as a array list.

Open source automation tools for mobile automation.

Following are the some open source automation tools for the mobile application
  1. WebDriver(Selenium 2): Webdriver is most popular automation tool for  web application as well as mobile web app for android aand iOS application. Using Grid we can execute test scripts in multiple environments. For more details click here
  2. MonkeyTalk:  monkey talk automation tool support native, mobile, and hybrid iOS and Android apps - everything from simple "smoke tests" to sophisticated data-driven test suites.  It support record and playback, simulate real devices. For more details click here
  3. Frank:  Frank automation tool used for only iOS based application. It allows to write structured text test/acceptance tests/requirements (using Cucumber) and have them execute against your iOS application. Frank also includes a powerful “app inspector” (called Symbiote) that you can use to get detailed information on your running app. For more details click here
  4. Robotium: Robotium is an automation framework for android application. It is fully supported of Android native and hybrid applications. For more details click here
  5. Calabash: Calabash automation tool support for both iOS and Android based application. Like Frank automation tool it support s for BDD framework using cucumber.
  6. NativeDriver: NativeDriver is implemented by using webdriver API it supports ui of native application not web application for Android and iOS. For more details click here
  7. Zucchini: zucchini is automation framework for iOS based application. For more details click here
  8. KIF: KIF is automation testing framework for iOs based application. for more details click here
  9. Automating UI Using Xcode Instruments:  Today this most powerful to automat iOS based application.  It supports only for iOS based application, record and playback are support and java script language support for scripting. For more details click here
  10. VerifayaStudio: Verifaya studio is support Android based application and need to real device for automation. For more details click here
  11. Appium: Appium is open source mobile automation tool for android and ios application. For more details click here

I will keep posing more details on above automation tool. Please leave your comments if any open source automation tool you know for mobile application.

Road to clear input filed using sikuli java

In this post in am going to explain, how to clear input fields value using sikuli with java. As Sikuli does not provide any function to clear input field.
To clear input fields value, I use sikuli and java Robot class. First I click on input field using sikuli click() function then I use java Robot class to clear input filed. Below is code.

Robot robot = new Robot();

robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_BACK_SLASH);

Using above approach and code,  I clear any input field with sikuli.


Road to create virtual android device( emulator ) in windows

Here are steps to create virtual device of android in window machine.

1. Download and install Android SDK from link “download android sdk
2. After installation click on “SDK Manager.exe” from your android installed directory.


3. Check android API as per your requirement and click on install button. It will talke some time for installation.
4. After installation successful. Click on Tool>>Manage ADVs”


5. Click on new button, Enter device name and select all options from open window, click on OK buton.
6. After creating device select created device and click on “Run” button. You android vertual device is open like below screen.


Road to save Jmeter test results.

Jmeter test execution report will automatically  save in xml, csv format into your machine by adding "Simple Data Writer" listener to "Thread Group".
Add “Simple Data Writer” listener to your Jmeter thread group. Browse result file from your machine in which you want to save result.


Click on “Configure” button and set up result configuration.


After execution reports are saved in mentioned file.

Road to apply assertions in jmeter wsdl web services.

Assertion or verification is important in testing, by using this we can ensure that our testing is going in right direction. Suppose we sent a request to server and get some response but here how we ensure whether we are getting correct response or not. So by using assertion we can ensure for correct response at run time, if response is not correct then test will fail for that request.

In my previous post, I posted “http://roadtoautomation.blogspot.com/2013/05/road-to-jmeter-data-driven-testing-of.html”, today I continue from that post so you need to read previous post before this.

Road to Jmeter data driven testing of wsdl web services.

Data driven testing is play most important roles in testing, it means that Jmeter test execute with a set of values pass from external files. In this post, I am going to explain the way to perform data driven testing in Jmeter soap request.

Before reading this blog you must read my previous post “Road to Jmeter test of wsdl web services.”

You need to put all your data in csv file as in my case I put data in csv file separated with comma and saved file in my system. Below is the csv data format:

Road to Jmeter test of wsdl web services.

In this post, I am going to explain how to create jmeter test for wsdl api testing to perform load testing. Before creating test you need following set up in your machine.

Set Up:
  1. Download and setup java path in your system environment path. 
  2. Download and install Jmeter.
  3. Download and install soapUI.
Here I am using wsdl url “http://www.webservicex.com/CurrencyConvertor.asmx?wsdl”.

Road to execute java webdriver test scripts using maven build tool

In this post, I will explain how to execute webdriver java testNG test script using ant maven tool for this first we need to setup following in our machine.
  • Java should be installed on machine.
  • maven should be installing and setup path in system environment variable. 
Maven Project: 

Create maven project for eclipse by using post “” as mentioned in if you have not experience how to create maven eclipse project.
Create webdriver testNG test script and put into “src/test/java”  source folder. Also create testNg suite file for same test script and put into desire directory as I put into “src/test/resources” folder.
Your maven eclipse project looks like as below:


I have created a webdriver test scripts and put into “com.test.example” package under “src/test/java” source folder below is my webdriver test script “SearchCountry.java”.
package com.test.example;

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;

public class SearchCountry {
                   
                     private WebDriver driver;
                     private String baseUrl;
                     
                      @BeforeSuite
                      public void setUp() throws Exception {
                        driver = new FirefoxDriver();
                        baseUrl = "http://www.wikipedia.org/";
                        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
                      }

                      @Test
                      public void testSearchCountry() throws Exception {
                        driver.get(baseUrl + "/");
                        driver.findElement(By.xpath("//a[contains(@title, \"English — Wikipedia\")]")).click();
                        driver.findElement(By.id("searchInput")).clear();
                        driver.findElement(By.id("searchInput")).sendKeys("India");
                        driver.findElement(By.id("searchButton")).click();
                        String searchedResult = driver.findElement(By.xpath("//h1[@id='firstHeading']/span"))
                                                             .getText();
                        Assert.assertTrue(searchedResult.equals("India"));
                      }

                      @AfterSuite
                      public void tearDown() throws Exception {
                        driver.quit();              
                      }
}
  
Below is testng suite “TestNGSuite.xml” file which I have created for above test script.