TESTEVERYTHING

Friday, 12 October 2012

Count elements/links on page using webdriver

Sometimes we need to count links on page. Here we are counting the elements on page. We use the same method for any type of element like link, span,button just use html tag of that element in xpath.


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.
WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
   

Maximize window in selenium/webdriver

By using below methods you maximize window in selenium/webdriver
1.  selenium.windowMaximize();
2.  driver.manage().window().maximize();

3. If above 2 commands doesn't work try the below code.

Refer the below example

Sunday, 23 September 2012

Locating elements using DOM, Css and Xpath

 Refer the below example

Whole web page

xpath=/html
css=html
document.documentElement
Whole web page body
xpath=/html/body
css=body
document.body
All text nodes of web page
//text()
Element <E> by absolute reference
xpath=/html/body/.../.../.../E
css=body>…>…>…>E
document.body.childNodes[i]...childNodes[j]
Element <E> by relative reference
//E
css=E
document.gEBTN('E')[0]
Second <E> element anywhere on page
xpath=(//E)[2]
document.gEBTN('E')[1]
Image element
//img
css=img
document.images[0]
Element <E> with attribute A
//E[@A]
css=E[A]
dom=for each (e in document.gEBTN('E')) if (e.A) e Œ
Element <E> with attribute A containing text 't' exactly
//E[@A='t']
css=E[A='t'] 
Element <E> with attribute A containing text 't'
//E[contains(@A,'t')]

Element <E> whose attribute A begins with 't'
//E[starts-with(@A, 't')]

Element <E> whose attribute A ends with 't'
//E[substring(@A, string-length(@A) - string-length('t')+1)='t']

Element <E> with attribute A containing word 'w'
//E[contains(concat('⦿', @A, '⦿'), '⦿w⦿')
Element <E> with attribute A matching regex ‘r’
Element <E1> with id I1 or element <E2> with id I2
//E1[@id=I1] | //E2[@id=I2]
css=E1#I1,E2#I2
Element <E1> with id I1 or id I2
//E1[@id=I1 or @id=I2]
css=E1#I1,E1#I2
Attribute A of element <E>
//E/@A {Se: //E@A }
{Se: css=E@A }
document.gEBTN('E')[0].getAttribute('A') ⌦
{Se: document.gEBTN('E')[0]@A }
Attribute A of any element
//*/@A  {Se: //*@A }
{Se: css=*@A }
Attribute A1 of element <E> where attribute A2 is 't' exactly
//E[@A2='t']/@A1 ⌦ {Se: //E[@A2='t']@A1 }
{Se: css=E[A2='t']@A1 }
Attribute A of element <E> where A contains 't'
//E[contains(@A,'t')]/@A ⌦ {Se: //E[contains(@A,'t')]@A }
{Se: @A }
Element <E> with id I
//E[@id='I']
css=E#I
Element with id I
//*[@id='I']
css=#I
document.gEBI('I')
id=I

Friday, 10 August 2012

Selenium Webdriver 2 Wait /Sleep for time period/wait next step execution/ Set speed for next execution

Some times we have to wait while running the script like for next execution wait for specific duration.But in web driver 2, I did not find the simple way to wait for next step execution after that I have decided to use simplest way to wait in looping statement. I have created a method just call the method with waiting time in seconds.It will wait for given time period.


Thursday, 9 August 2012

Handling Security Cerificates(UntrustedSSLCertificates) using WebDriver(selenium2)

Handling Security Cerificates(UntrustedSSLCertificates) in Internet Explorer (IE) using WebDriver(selenium2)

driver = new InternetExplorerDriver();
driver.navigate().to("javascript:document.getElementById('overridelink').click()");
// or using selenium rc
selenium.runScript("document.getElementById('overridelink').click()");

Handling Security Cerificates(UntrustedSSLCertificates) in Firefox using WebDriver(selenium2)


Thursday, 2 August 2012

Set cookies with domain using webdriver

using web driver I have created the script for adding the cookies using domain. Basically here is the things that you must know first open the URL then add the cookies after that again open the URL now it will add.

 ______________________________________________________
package webdriver;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.Select;

public class RuntestCase {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
       
       
        WebDriver driver;


        System.out.println("firefox");

        DesiredCapabilities capability = DesiredCapabilities.firefox();

        String appUrl = "http://beta.abc.com/mlb/sweepstakes/y2012/sd/alaska_form.jsp";

        capability.setBrowserName("firefox");
        capability.setPlatform(org.openqa.selenium.Platform.ANY);
        driver = new FirefoxDriver(capability);

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
       
        driver.get(appUrl);

        Calendar c = new GregorianCalendar();
        int year = 2014;
        int month = 6;
        int day = 7;
        int hour = 10;
        int minute = 26;
        int second = 47;
        c.set(year, month, day, hour, minute, second);
        Date expiry = c.getTime();
        String name = "betaaccess";
        String value = "true";
        String domain = ".abc.com";
        String path = "/";
        Cookie cookie = new Cookie(name, value, domain, path, expiry, false);
        driver.manage().addCookie(cookie);
        driver.get(appUrl);
               
            }
    }

Wednesday, 16 May 2012

String Reverse in VB Script Without using any function

Dim yourstr,r,letter,result
yourstr="pro1gr3a6m"

Set r=new regexp
r.pattern="[a-z 0-9 A-Z]"
r.global=true
set s=r.execute(yourstr)

For each letter in s
result= letter.value&result
Next

print result

Translate







Tweet