Selenium quick start note

Selenium

Selenium automates browsers.

Selenium Introduction:

Selenium Types:

·         Selenium IDE: a Firefox add-on that will do simple record-and-playback of interactions with the browser

·         Selenium RC (Remote Control): Selenium 1. deprecated. WebDriver is the successor.

·         Selenium WebDriver: Selenium 2. a collection of language specific bindings to drive a browser -- the way it is meant to be driven.

·         Selenium Server: used by both WebDriver and Remote Control. Built-in grid capabilities.

·         Selenium-Grid: Selenium Grid allows you to run your tests in parallel, that is, different tests can be run at the same time on different remote machines.

Selenium-WebDriver supports the following browsers along with the operating systems these browsers are compatible with.

·         Google Chrome 12.0.712.0+

·         Internet Explorer 6, 7, 8, 9 - 32 and 64-bit where applicable

·         Firefox 3.0, 3.5, 3.6, 4.0, 5.0, 6, 7

·         Opera 11.5+

·         HtmlUnit 2.9

·         Android – 2.3+ for phones and tablets (devices & emulators)

·         iOS 3+ for phones (devices & emulators) and 3.2+ for tablets (devices & emulators)

  

Selenium IDE note:

                Use guide: http://seleniumhq.org/docs/02_selenium_ide.html

                                Install, launch IDE;

                IDE feature:

                                add test case/suite, record, edit, run, log, reference;

                                export html/junit/python/c#/TestNG/Ruby;

                Export script types:

WebDriver

Remote Control

WebDriver Backend (java only)

 

Selenese – Selenium commands:

Command reference:http://release.seleniumhq.org/selenium-core/1.0.1/reference.html

                Actions: do things like “click this link”, some with “AndWait” suffix.

                Accessors: examine the status and store the results in variables;

                Assertions: verify that the state conforms to what’s expected. All in 3 modes:

assert” (once it fails, test is aborted),

verify” (once it fails, test will continue)

waitFor” (test halts after timeout).

 

Selenium 2.0 and WebDriver     http://seleniumhq.org/docs/03_webdriver.html

                Some reason why you will need the Selenium-Server -

·         You are using Selenium-Grid to distribute your tests over many machines / VMs.

·         You want to connect to a remote machine that has a particular browser version that is not on your current machine.

·         You are not using the Java bindings and would like to use HtmlUnit Driver

 

Java env setup with Maven:

                Maven 3.0.3: http://maven.apache.org/download.html

                selenium-java  for Maven: http://seleniumhq.org/download/maven.html

1.       Download Maven and add it to path;

2.       Create a pom.xml in your project and run “mvn clean install” in your project folder; (This will download Selenium and all its dependencies and will add them to the project.)

3.       Import your project into Eclipse after you run “mvn eclipse:eclipse” to generate project files for Eclipse. Your Eclipse must have m2eclipse installed (http://m2eclipse.sonatype.org/installing-m2eclipse.html for Eclipse 3.5.2 and 3.6.1 only).

pom.xml: 

 <?xml version="1.0" encoding="UTF-8"?>
<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>MySel20Proj</groupId>
        <artifactId>MySel20Proj</artifactId>
        <version>1.0</version>
        <dependencies>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>2.12.0</version>
            </dependency>
        </dependencies>
</project>

 Java test sample:

 

package org.openqa.selenium.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        // Notice that the remainder of the code relies on the interface,
        // not the implementation.
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com/");
        // Alternatively the same thing can be done like this
        // driver.navigate().to("http://www.google.com/");

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

        // Enter something to search for
        element.sendKeys("Cheese!");

        // Now submit the form. WebDriver will find the form for us from the element
        element.submit();

        // Check the title of the page
        System.out.println("Page title is: " + driver.getTitle());
       
        // Google's search is rendered dynamically with JavaScript.
        // Wait for the page to load, timeout after 10 seconds
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.getTitle().toLowerCase().startsWith("cheese!");
            }
        });

        // Should see: "cheese! - Google Search"
        System.out.println("Page title is: " + driver.getTitle());
       
        //Close the browser
        driver.quit();
    }
}

 

Here is a guide on Jave env setup without Maven: http://www.silverwareconsulting.com/index.cfm/2010/5/17/Getting-Started-with-WebDriver-a-Browser-Automation-Tool

 

References:

http://seleniumhq.org/

Blog: http://seleniumhq.wordpress.com/

 

docs

http://www.ibm.com/developerworks/cn/java/wa-selenium-ajax/

http://www.ibm.com/developerworks/cn/opensource/os-webautoselenium/

http://www.cnblogs.com/hyddd/archive/2009/05/30/1492536.html

 

转载于:https://www.cnblogs.com/markjiao/archive/2011/11/17/2252834.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值