`
瓜田守望者
  • 浏览: 144486 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Selenium使用简单介绍

阅读更多

SeleniumUsage  

Selenium使用简单介绍

Introduction

Details

Selenium 使用介绍2008-06-13 18:48Selenium 是 thoughtworks公司的一个集成测试的强大工具。最近参与了一个系统移植的项目,正好用到这个工具,

把一些使用心得分享给大家,希望大家能多多使用这样的强大的,免费的工具,来保证我们的质量。

Selenium 的文档现存的不少,不过都太简单了。使用Selenium的时候,我更多的是直接去看API文档,好在API不错,

一个一个看,就能找到所需要的 :-) 官方网站:http://www.openqa.org/selenium/

好,下面进入正题!

一、Selenium 的版本

Selenium 现在存在2个版本,一个叫 selenium-core, 一个叫selenium-rc 。

selenium-core 是使用HTML的方式来编写测试脚本,你也可以使用 Selenium-IDE来录制脚本,但是目前Selenium-IDE 只有 FireFox 版本。

Selenium-RC 是 selenium-remote control 缩写,是使用具体的语言来编写测试类。

selenium-rc 支持的语言非常多,这里我们着重关注java的方式。这里讲的也主要是 selenium-rc,因为个人还是喜欢这种 方式 :-)

二、一些准备工作

1、当然是下载 selenium 了,到 http://www.openqa.org/selenium/ 下载就可以了,记得选择selenium-rc 的版本。

2、学习一下 xpath 的知识。有个教程:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html

一定要学习这个,不然你根本看不懂下面的内容!

3、安装 jdk1.5

三、selenium-rc 一些使用方法

在 selenium-remote-control-0.9.0\server 目录里,我们运行 java -jar selenium-server.jar 之后你就会看到一些启动信息。要使用 selenium-rc ,启动这个server 是必须的。

当然,启动的时候有许多参数,这些用法可以在网站里看看教程,不过不加参数也已经足够了。

selenium server 启动完毕了,那么我们就可以开始编写测试类了!

我们先有个概念,selenium 是模仿浏览器的行为的,当你运行测试类的时候,你就会发现selenium 会打开一个

浏览器,然后浏览器执行你的操作。

好吧,首先生成我们的测试类:

java 代码public class TestPage2 extends TestCase {

private Selenium selenium;
protected void setUp() throws Exception {
String url = “http://xxx.xxx.xxx.xxx/yyy”; selenium = new DefaultSelenium("localhost", SeleniumServer.getDefaultPort
(), "iexplore", url);
selenium.start();

super.setUp();

}

protected void tearDown() throws Exception {

selenium.stop();
super.tearDown();

}

}

代码十分简单,作用就是初始化一个 Selenium 对象。其中: url : 就是你要测试的网站 localhost: 可以不是localhost,但是必须是 selenium server 启动的地址 iexplore : 可以是其它浏览器类型,可以在网站上看都支持哪些。

下面我就要讲讲怎么使用selenium 这个对象来进行测试。

1、测试文本输入框

假设页面上有一个文本输入框,我们要测试的内容是 在其中输入一些内容,然后点击一个按钮,看看页面的是否跳转 到需要的页面。

public void test1() {

selenium.open("http://xxx.xxx.xxx/yyy ");
selenium.type("xpath=//input@name='userID'", "test-user"); selenium.click("xpath=//input@type='button'"); selenium.waitForPageToLoad("2000"); assertEquals(selenium.getTitle(), "Welcome");

}

上面的代码是这个意思: 1、调用 selenium.open 方法,浏览器会打开相应的页面 2、使用 type 方法来给输入框输入文字 3、等待页面载入 4、看看新的页面标题是不是我们想要的。

2、测试下拉框

java 代码public void test1() {

selenium.open("http://xxx.xxx.xxx/yyy ");
selenium.select("xpath=//SELECT@name='SBBUSYO'", "index=1"); selenium.click("xpath=//input@type='button'"); selenium.waitForPageToLoad("2000"); assertEquals(selenium.getTitle(), "Welcome");

}

可以看到,我们可以使用 select 方法来确定选择下拉框中的哪个选项。 select 方法还有很多用法,具体去看看文档吧。

3、测试check box

java 代码

public void test1() {

selenium.open("http://xxx.xxx.xxx/yyy ");
selenium.check("xpath=//input@name='MEICK_000'"); selenium.click("xpath=//input@type='button'"); selenium.waitForPageToLoad("2000"); assertEquals(selenium.getTitle(), "Welcome");

}

我们可以使用 check 方法来确定选择哪个radio button

4、得到文本框里的文字

java 代码assertEquals(selenium.getValue("xpath=//input@name='WNO'"), "1");

getValue 方法就是得到文本框里的数值,可不是 getText 方法,用错了可就郁闷了。

5、判断页面是否存在一个元素

java 代码assertTrue(selenium.isElementPresent("xpath=//input@name='MEICK_000'"));

一般这个是用来测试当删除一些数据后,页面上有些东西就不会显示的情况。

6、判断下拉框里选择了哪个选项

java 代码assertEquals(selenium.getSelectedIndex("xpath=//SELECT@name='HATIMING'"), "1");

这个可以用来判断下拉框显示的选项是否是期望的选项。

7、如果有 alert 弹出对话框怎么办?

这个问题弄了挺长时间,可以这样来关闭弹出的对跨框:

java 代码if(selenium.isAlertPresent()) {

selenium.getAlert();

}

其实当调用 selenium.getAlert() 时,就会关闭 alert 弹出的对话框。 也可以使用 System.out.println(selenium.getAlert()) 来查看对跨框显示的信息。

在测试的时候,有的人会显示许多alert 来查看运行时的数据,那么我们可以用下面的方式来关闭那些 alert:

java 代码while(selenium.isAlertPresent()) {

selenium.getAlert();

}

8、如何测试一些错误消息的显示?

java 代码assertTrue(selenium.getBodyText().indexOf("错误消息")>=0);

切记: getBodyText 返回的时浏览器页面上的文字,不回包含html 代码的,如果要显示html 代码,用下面这个:

java 代码System.out.println(selenium.getHtmlSource());

以上就是最常用的几个方法了,例如 click, type, getValue 等等。 还有就是一定要学习 xpath, 其实xpath 也可以有“与、或、非”的操作:

java 代码selenium.check("xpath=//input(@name='KNYKBN')and(@value='Y')");

四、其他

selenium 还有更多的用法,例如弹出页面等等。当面对没见过的测试要求时,我最笨的方法就是按照api文档一个一个找, 好在不多,肯定能找到。

原文地址:http://www.iteye.com/topic/107276

分享到:
评论

相关推荐

    pythonseleniumide使用-SeleniumIDE基础使用教程.pdf

    ⾯板介绍参见如下: 按钮功能解释: 创建简单的测试⽤例 以百度⾸页搜索为例,举⼀个很简单例⼦,如下: 1. 打开百度⾸页,点击 Selenium IDE 按钮 2. 可以看到打开默认开始录制了,BaseURL 为当前URL;操作光标移⼊...

    Selenium

    Selenium简单介绍

    Selenium使用介绍

    Selenium 是 thought...Selenium 的文档现存的不少,不过都太简单了。使用Selenium的时候,我更多的是直接去看API文档,好在API不错, 一个一个看,就能找到所需要的 :-) 官方网站:http://www.openqa.org/selenium/

    selenium测试工具

    Selenium是现在使用最为广泛的一款开源自动化测试工具,也是非商业支持的稳定性易用性最好的一款自动化测试工具...以下介绍的内容会通过和QTP在各方面的比较中进行,并针对简单的测试样例,对基本的使用进行简单说明。

    Selenium 介绍

    selenium 学习 介绍 简单易懂 英文版

    selenium IDE学习

    selenium IDE学习简单的介绍及初级的使用

    Selenium-Webdriver系列教程

    • 使用gem安装selenium-webdriver;打开命令行,输入下列代码完成安装。注意,如果你的开发环境需要http proxy的话,请注意在gem命令中加入--http_proxy参数; gem install selenium-webdriver [--http_proxy] • 在...

    SeleniumIDE实践(使用Selenium录制)

    Aaron很久以前使用过Selenium,不过仅仅用了其提供的API来写测试代码,也在blog上发过一个简单的代码示例。近来有好几个博友加我MSN问我有关Selenium录制的问题,可惜以前没有使用过,爱莫能助。鉴于此,昨天晚上...

    seleniumIDE数据驱动讲义

    在测试中使用Selenium IDE辅助测试,使用本身命令存储变量,实现数据驱动测试,分享给大家写了一个简单的介绍。

    python+django+selenium搭建简易自动化测试

    主要介绍了python+django+selenium搭建简易自动化测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Selenium Python自动化测试环境搭建.ppt

    Selenium+Webdriver+Python自动化测试环境 目录: 一.Selenium+Webdriver+Python...四.unittest的简单介绍及使用 五.网页元素的定位 六.浏览器的基本操作 七.拓展: (1)测试报告的生成 (2)数据驱动(文本、表格等)

    Selenium Grid的原理.docx

    Selenium Grid在前面介绍Selenium的时候说过它有三大组件,Selenium Grid就是其中之一而作用就是分布式执行测试。讲分布式之前还是要说说UI自动化的优势来突出Selenium Grid,最简单的两点解决重复执行测试、解决多...

    selenium2 python自动化测试

    本书分为14个章节,第1... 本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。

    Selenium原理探秘

    本文来自于IBM,本文简单介绍了SeleniumRC的组成和SeleniumRC的有优缺点,希望对您的学习有帮助。Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试。...

    Selenium2 自动化测试实战+mobi

    基于Python语言分为14... 本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。

    selenium2 python自动化测试.zip

    本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向中高级测试工程师的道路迈进。 适读人群 :本书...

    selenium安装、操作指南

    selenium安装、操作指南,简单地介绍其安装细节,如何录制XPath等。

    用selenium和BeautifulSoup爬取网易云音乐歌手id

    selenium和bs4介绍 Selenium 自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。...

Global site tag (gtag.js) - Google Analytics