Some Important SoapUI functions in groovy script.

In this post I will show you some important soapui functions which are basically used in soap ui groovy scripts.

1. Following functions are used to read properties in soapui project.
projectPropertyValue = context.expand( '${#Project#Test}')

projectPropertyValue = context.expand( '${#TestCase#Test}')

projectPropertyValue = context.expand( '${#TestSuite#Test}'

I have create three properties with name "Test" at project, testsuite and test case level. Using above code we can read values in groovy scripts and can be use where needed.
2. Setting properties value test case.
def myTestCase = context.testCase

myTestCase.setPropertyValue("Name", “Value”)

3. Reading end url value of any test steps. Replace your test step name with “TestStepName”
EndPointUrl  = context.getProperty("TestStepName","Endpoint")
4. Setting parameter value of test steps. Replace you test step name, parameter name and value with “TestStepName”, “dataSet” and “value”.
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

//set data parameter value in TestStep
groovyUtils.setPropertyValue("TestStepName", "dataSet", “value”)
Will continue adding more function

Road to capture clip of element locator in webdriver java

In this post I am going to show you how to capture clip of page element using webdriver.
Below I have written a “CaptureElementClip.java“java webdriver test script of a google application where I capture google menu clip and save into project.

package com.webdriver.test;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import javax.imageio.ImageIO;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.Point;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;

public class CaptureElementClip {

        private WebDriver driver;
        private String baseUrl;

        @BeforeSuite
        public void setUp() throws Exception {
                    driver = new FirefoxDriver();
                    baseUrl = "http://google.com";
                    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
         }

        @Test
        public void testGoogle() throws IOException {

                    //open application url
                    driver.get(baseUrl);

                    //take screen shot
                    File screen = ((TakesScreenshot) driver)
                                        .getScreenshotAs(OutputType.FILE);
                                        
                    //get webelement object of google menu locator
                    WebElement googleMenu = driver.findElement(By.id("gbz"));
                    Point point = googleMenu.getLocation();

                    //get element dimension
                    int width = googleMenu.getSize().getWidth();
                    int height = googleMenu.getSize().getHeight();
                   
                    BufferedImage img = ImageIO.read(screen);
                    BufferedImage dest = img.getSubimage(point.getX(), point.getY(), width,
                                                                                 height);
                    ImageIO.write(dest, "png", screen);
                    File file = new File("Menu.png");
                    FileUtils.copyFile(screen, file);
          }

          @AfterSuite
          public void tearDown() throws Exception {
                    driver.quit();
           }
}

After executing above test a “Menu.png” file is generated in root folder of your project.

Road to run selenium test on custom Firefox profile

Following are the steps to create Firefox profile and launch selenium server.
1. Click start button >> Go to Run.
2. Type firefox.exe –P and click on OK button.

Road to data driven testing webdriver C# with Nunit

In this post I will show you how to implement data driven testing in webdriver C# using Nunit.
I put all data in xml file and fetch data during execution time of test. For data I have created data.xml file list country.

Road to screen recording in webdriver with C#

Last couple of days, I am searching screen recording by using webdriver with C# similar to “Monte Media Library” in java and finally I got the solution. Here, I am posting my finding so that it can help others.
For screen capturing Microsoft provide” Microsoft Expression Encoder 4” which can be download and install from link “http://www.microsoft.com/en-in/download/confirmation.aspx?id=27870

Default installation directory is “C:\Program Files\Microsoft Expression”.

Steps to create and run webdriver test.

1. You need to make sure that you have setup all required dll for of webdriver and Nunit.
2. Download and install”Microsoft Expression Encoder 4” from above mentioned url.
3. Add “Microsoft.Expression.Encoder.dll” from “C:\Program Files\Microsoft Expression\Encoder 4\SDK” folder to your webdriver project.

Road to automate android application using Robotium and Testdroid recorder.

In this post I will show you how to automate android application using robotium framework with testdroid recorder.
Testdroid recorder is capture user action , generate reusable android test case into robotium framework. For more detail about Testdroid visit link “click here

Prerequisites: 
  1. Eclipse should be installed in your machine.
  2. Android SDK should be installed.
  3. ADT Plug-in installed in to Eclipse. 
Testdroid installation: 

1. Start Eclipse and go to Help -> Install New Software
2. Click Add button; enter to field asking you a site to work with.
3. Fill in “Testdroid plug-in” for the Name
4. For the Location provide URL to Testdroid repository:  http://www.testdroid.com/updates/
5. Click ok button.

Road to setup and execute webdriver test scripts on android emulator

Prerequisites:

Following prerequisites you need to set up before starting.
1. Android SDK must be installed and setup path in your machine and virtual device should be created. For more detail how to setup and create virtual device visit my post “Road to create virtual android device( emulator ) in windows
2. Download selenium server and “android-server-2.32.0.apk” from link “Android server” and save in your machine.
3. Launched your avd device (emulator)

Installation of Webdriver APK into emulator: 

1. Put android “android-server-2.32.0.apk” file under “platform-tools” of installed android directory.
2. Run below command on console to check available devices.
adb  devices
Like below message displayed on your console.
D:\Android\android-sdk\platform-tools>adb devices
List of devices attached
emulator-5554   device

3. Go to “platform-tools” folder of installed android directory and run below command to install android server into mentioned emulator (device) id.
adb -s {{emulator-id}} -e install -r  android-server-2.32.0.apk

exp:
adb -s emulator-5554  -e install -r  android-server-2.32.0.apk 
Android driver installed into mentioned driver and you can see into your emulator

Road to execute JavaScript in Webdriver

Some time we need to execute JavaScript function of application using webdriver or need to inject a piece of java script code to perform some action in application.

Webdriver provide a “JavascriptExecutor “class for executing java script, Here is step and code for the same.
First you need to create “JavascriptExecutor” class object.

JavascriptExecutor js = (JavascriptExecutor) driver;

Now call “executeScript()” method by passing java script code as a argument.
js .executeScript(“java script code”)

Here are some more examples.
String readyState = (String)js.executeScript("return document.readyState");

String title = (String)js.executeScript("return document.title");

String domain = (String)js.executeScript("return document.domain");

WebElement el   = (WebElement)js.executeScript("return document.getElementById('rentc');");

js.executeScript("return document.getElementById('submit').click();");

Road to switch window in webdriver

In this post I am going to show you that how to switch windows in webdriver(selenium 2). Below are some circumstances where we need to some trick to switch window.

1. Suppose you have only two windows one is parent and other is child window (opened window), your new window and parent window has similar title.

In Java:
Set windows = driver.getWindowHandles();
Iterator iter = windows.iterator();                                    
String parented  = iter.next();
driver.switchTo().window(iter.next());

In C#
String parentId = driver.WindowHandles.FirstOrDefault();
String childId = driver.WindowHandles.LastOrDefault();
driver.SwitchTo().Window(childId );

In above example I store parent Id for further switch to parent window.