`
yangzx554
  • 浏览: 19870 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

selenium2入门

阅读更多
http://code.google.com/p/selenium/是开源的自动化测试框架,支撑主流的所有的游览器,支持多语言开发,

要使用selenium2的pom依赖如下
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-support</artifactId>
            <version>2.7.0</version>
        </dependency>

新建一个baidu的首页的页面对象,里面有各个WebElement元素。

import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.How;

public class BaiduSearchPage {
    // Here's the element
    private WebElement kw;//关键字的输入
    
    private WebElement su;//提交表单

    @FindBy(how = How.NAME, using = "tj_login")
    private WebElement  tj_login; //百度用户登录用户名显示
    
    private WebElement s_username_top;
    
    //点击登录操作
    public void linkLogin(){
        tj_login.click();
    }
    //获取登录后用户名
    public String getUsername(){
		return s_username_top.getText();
    	
    }
    //搜索关键字
    public void searchFor(String text) {
        // And here we use it. Note that it looks like we've
        // not properly instantiated it yet....
        kw.sendKeys(text);
        su.submit();
    }
} 

登录页面
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.How;

public class BaiduLoginPage {

	@FindBy(how = How.NAME, using = "username")
	private WebElement username_normal;
	private WebElement normModPsp;
	@FindBy(how = How.XPATH, using = "/html/body/center/div/div[2]/div/table/form")
	private WebElement login;

	public void login(String username, String passwd) {
		username_normal.sendKeys(username);
		normModPsp.sendKeys(passwd);
		login.submit();
	}
}



测试代码如下
import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.PageFactory;

public class AppTest {

    @Test
    public void testindex() {
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.baidu.com/");
        BaiduSearchPage page = PageFactory.initElements(driver, BaiduSearchPage.class);
        page.searchFor("koubei");
        Assert.assertEquals("百度搜索_koubei", driver.getTitle());
        driver.close();
    }

    @Test
    public void testlogin() {
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.baidu.com/");
        BaiduSearchPage baiduSearchPage =PageFactory.initElements(driver, BaiduSearchPage.class);
        baiduSearchPage.linkLogin();
        BaiduLoginPage page = PageFactory.initElements(driver, BaiduLoginPage.class);
        page.login("username", "passwd");
        Assert.assertEquals("username", baiduSearchPage.getUsername());
        Assert.assertEquals("百度一下,你就知道", driver.getTitle());
        driver.close();
    }


这里使用chrome主要是因为启动比firefox快一点 需要在http://code.google.com/p/chromium/downloads/list 下一个chromedriver 并且要把path中
分享到:
评论
2 楼 ljl961890233bear 2014-09-23  
thinkdeeply 写道
你好,有个问题,想请教你一下.
在我启动ChromeDriver后,chrome已经打开了,然后程序就会报错.ie,firefox没有这问题.我的chrome是在线安装的.

Exception in thread "main" org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died.
Build info: version: '2.14.0', revision: 'unknown', time: '2011-11-29 13:13:16'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_10-rc2'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:396)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:115)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:76)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:120)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:109)
at com.caribe.stone.wd.SeleniumTest.main(SeleniumTest.java:23)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for ChromeDriver server to start.
Build info: version: '2.14.0', revision: 'unknown', time: '2011-11-29 13:13:16'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_10-rc2'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.chrome.ChromeDriverService.start(ChromeDriverService.java:143)
at org.openqa.selenium.chrome.ChromeCommandExecutor.execute(ChromeCommandExecutor.java:46)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:382)
... 5 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:41201/status, http://localhost:41201/healthz] to be available after 20004 ms

我的浏览器也是这样子,经常出现这样的case,但是在别人电脑上跑就是ok的,可能是浏览器版本的问题。
1 楼 thinkdeeply 2012-02-15  
你好,有个问题,想请教你一下.
在我启动ChromeDriver后,chrome已经打开了,然后程序就会报错.ie,firefox没有这问题.我的chrome是在线安装的.

Exception in thread "main" org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died.
Build info: version: '2.14.0', revision: 'unknown', time: '2011-11-29 13:13:16'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_10-rc2'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:396)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:115)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:76)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:120)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:109)
at com.caribe.stone.wd.SeleniumTest.main(SeleniumTest.java:23)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for ChromeDriver server to start.
Build info: version: '2.14.0', revision: 'unknown', time: '2011-11-29 13:13:16'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_10-rc2'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.chrome.ChromeDriverService.start(ChromeDriverService.java:143)
at org.openqa.selenium.chrome.ChromeCommandExecutor.execute(ChromeCommandExecutor.java:46)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:382)
... 5 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:41201/status, http://localhost:41201/healthz] to be available after 20004 ms

相关推荐

    Appium + Selenium 2 入门

    ### Appium + Selenium 2 入门:详细解析 #### 一、Selenium 2 全面解析 **Selenium 2** 是一种强大的工具,它整合了 **Selenium 1** 和 **WebDriver** 的最佳特性,使得在多个浏览器中进行 Web 应用程序的端到端...

    selenium2初学者快速入门

    ### Selenium2初学者快速入门详解 #### 一、引言 随着软件开发的快速发展和规模的不断增大,传统的手动测试方式越来越难以满足高效且频繁的测试需求。为了解决这一问题,自动化测试成为了软件测试领域的重要发展...

    selenium快速入门示例

    cd D:\selenium快速入门示例 D: set JAVA_HOME=E:\tools\java\jdk1.8.0_181x64 set PATH=%JAVA_HOME%\bin;%PATH% javac -encoding utf-8 -Djava.ext.dirs=. SogouTest1.java java -Djava.ext.dirs=. SogouTest1 ...

    selenium RC入门实例

    昨天群里有朋友问我selenium入门例子,我今天抽了点时间写了一段简单的代码,此代码适合刚刚学习selenium的人员参考,此代码是selenium2 RC 调用chrome driver访问百度,输入Jack_test 搜索. 代码里面含资源包:selenium...

    selenium从入门到精通

    Selenium是一个由ThoughtWorks公司开发的开源Web应用程序自动化测试工具系列,主要分为Selenium-IDE、Selenium-RC、Selenium-WebDriver和Selenium-Grid四个部分。Selenium的使用可以覆盖从简单的浏览器操作到复杂的...

    Selenium新手入门教程

    在了解Selenium作为自动化测试工具的入门过程中,我们首先需要掌握几个关键知识点。首先是Selenium与QTP(Quick Test Professional)的对比。QTP是一款较为强大的自动化测试工具,但它的复杂性和对Windows窗口的操作...

    selenium2初学者快速入门(Java)

    ### Selenium2初学者快速入门(Java) #### 一、引言 随着软件开发规模的不断扩大,测试成为确保软件质量不可或缺的一环。面对大量的重复性测试任务,自动化测试逐渐成为业界的首选方案。Selenium作为一款优秀的开源...

    Selenium:SeleniumIDE入门与实践.docx

    Selenium:SeleniumIDE入门与实践.docx

    Selenium基础入门

    Selenium基础入门

    selenium基础入门

    2. Selenium-Core:这是Selenium测试机制的核心,包含了一套基于JavaScript的断言机制和测试套件运行器。它可以运行在多种浏览器上,负责执行由测试脚本传递的命令。测试脚本可以用HTML表格布局编写,或者使用支持的...

    selenium2初学者快速入门 java版

    ### Selenium2初学者快速入门(Java版):详解与实战指南 #### 一、引言 随着软件开发行业的快速发展,自动化测试已经成为确保软件质量的重要手段之一。传统的手工测试方法不仅耗时费力,而且难以应对日益复杂的...

    selenium新手入门必看

    ### Selenium新手入门必看知识点详解 #### 一、Selenium简介与重要性 Selenium 是一个强大的自动化测试工具集,广泛应用于Web应用的功能性测试。它支持多种浏览器(如Chrome、Firefox等)以及多种编程语言(包括...

    基于Selenium 2的自动化测试 从入门到精通PDF电子书下载

    基于Selenium 2的自动化测试 从入门到精通PDF电子书下载

    基于Selenium 2的自动化测试 从入门到精通

    基于Selenium 2的自动化测试 从入门到精通PDF电子书下载 带书

    selenium入门

    selenium入门.pptSelenium是ThroughtWorks公司的开源Web功能测试工具系列

    selenium快速入门及常用api

    **Selenium 快速入门及常用API** Selenium是一款强大的Web自动化测试工具,它允许开发者模拟用户行为,对网页进行各种操作,如点击、输入、导航等,从而进行功能测试和性能测试。本文将深入介绍Selenium的快速入门...

    selenium整套入门学习资料-ppt及代码源码 -及涉及工具

    本套学习资料专为想要入门Selenium的Java开发人员设计,涵盖了从基础到中级的全方位知识,旨在帮助学习者快速掌握Selenium的核心概念和技术。 首先,Selenium的核心组件包括Selenium WebDriver,它是一个API,允许...

    selenium2从入门到精通

    selenium2从入门到精通书籍,提供selenium初学者学习的基础知识。

Global site tag (gtag.js) - Google Analytics