Selenium 是 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 会打开一个
浏览器,然后浏览器执行你的操作。
好吧,首先生成我们的测试类:
代码十分简单,作用就是初始化一个 Selenium 对象。其中:
url : 就是你要测试的网站
localhost: 可以不是localhost,但是必须是 selenium server 启动的地址
*iexplore : 可以是其它浏览器类型,可以在网站上看都支持哪些。
下面我就要讲讲怎么使用selenium 这个对象来进行测试。
1、测试文本输入框
假设页面上有一个文本输入框,我们要测试的内容是 在其中输入一些内容,然后点击一个按钮,看看页面的是否跳转
到需要的页面。
上面的代码是这个意思:
1、调用 selenium.open 方法,浏览器会打开相应的页面
2、使用 type 方法来给输入框输入文字
3、等待页面载入
4、看看新的页面标题是不是我们想要的。
2、测试下拉框
可以看到,我们可以使用 select 方法来确定选择下拉框中的哪个选项。
select 方法还有很多用法,具体去看看文档吧。
3、测试check box
java 代码
我们可以使用 check 方法来确定选择哪个radio button
4、得到文本框里的文字
getValue 方法就是得到文本框里的数值,可不是 getText 方法,用错了可就郁闷了。
5、判断页面是否存在一个元素
一般这个是用来测试当删除一些数据后,页面上有些东西就不会显示的情况。
6、判断下拉框里选择了哪个选项
这个可以用来判断下拉框显示的选项是否是期望的选项。
7、如果有 alert 弹出对话框怎么办?
这个问题弄了挺长时间,可以这样来关闭弹出的对跨框:
其实当调用 selenium.getAlert() 时,就会关闭 alert 弹出的对话框。
也可以使用 System.out.println(selenium.getAlert()) 来查看对跨框显示的信息。
在测试的时候,有的人会显示许多alert 来查看运行时的数据,那么我们可以用下面的方式来关闭那些 alert:
8、如何测试一些错误消息的显示?
切记: getBodyText 返回的时浏览器页面上的文字,不回包含html 代码的,如果要显示html 代码,用下面这个:
- System.out.println(selenium.getHtmlSource());
以上就是最常用的几个方法了,例如 click, type, getValue 等等。
还有就是一定要学习 xpath, 其实xpath 也可以有“与、或、非”的操作:
四、其他
selenium 还有更多的用法,例如弹出页面等等。当面对没见过的测试要求时,我最笨的方法就是按照api文档一个一个找,
好在不多,肯定能找到。
相关推荐
"Selenium 使用详解" Selenium 是 ThoughtWorks 公司的一个集成测试的强大工具。最近参与了一个系统移植的项目,正好用到这个工具,把一些使用心得分享给大家,希望大家能多多使用这样的强大的,免费的工具,来保证...
### Selenium 使用技术文档知识点解析 #### 一、Selenium 概述 Selenium 是一个用于 Web 应用程序测试的工具。它支持多种浏览器(如 Firefox、Chrome、IE 等),并允许用户通过多种编程语言(如 Java、C#、Python ...
这个压缩包包含的资源是针对Selenium使用者的入门和进阶指南,帮助读者更好地理解和运用Selenium。 《Selenium.1.0.Testing.Tools.Beginners.Guide.Nov.2010.pdf》可能涵盖了Selenium 1.0的基础知识,包括Selenium ...
本资源包“python爬虫案例与selenium使用”提供了深入理解和实践这两个技术的宝贵资料。 首先,让我们深入了解Python爬虫。Python以其简洁易读的语法和丰富的第三方库,成为爬虫开发的首选语言。常用的爬虫框架有...
python3.7运行selenium 使用的HTMLTestRunner,在pyton2的基础上修改了部分代码,主要是StringIO模块,python3中已经变为IO模块
"Selenium使用介绍" Selenium是一款由ThoughtWorks公司开发的强大的集成测试工具,广泛应用于Web应用程序的自动化测试。它提供了一种模拟用户行为的方式来验证应用程序的功能,确保软件质量。Selenium分为两个主要...
**Selenium 使用说明** Selenium 是一款强大的自动化测试工具,广泛应用于Web应用程序的测试,它支持多种编程语言,如Python、Java、C#等。这个资源集合,名为"Selenium私房菜(新手入门教程)",是专为初学者设计...
Selenium 是一个广泛使用的开源自动化测试框架,主要针对Web应用程序。它由ThoughtWorks公司开发,提供了一套强大的工具集,支持多种编程语言,包括Java、C#、Python等,使得测试人员和开发人员能够编写自动化测试脚...
本文主要围绕Selenium的使用展开,包括其版本介绍、安装步骤以及核心组件的运用。 首先,Selenium 有四个主要版本:Selenium IDE、Selenium Core、Selenium RC(Remote Control)和Selenium WebDriver。Selenium ...
### 网络爬虫之Selenium使用代理登陆:爬取[去哪儿](http://flight.qunar.com/)网站 一些说明: * 使用selenium模拟浏览器登陆,获取翻页操作。 * 代理可以存入一个文件,程序读取并使用。 * 支持多进程抓取。
2. **JsonWireProtocol 和 W3C WebDriver 协议**: Selenium 使用这两种协议与浏览器通信。JsonWireProtocol 是早期的协议,而 W3C WebDriver 协议是更现代的标准,提供了更健壮和跨平台的兼容性。源码中可以看到这些...
Selenium安装配置及使用 Selenium 是一个自动化测试工具,允许开发者使用多种编程语言编写自动化测试案例。本文档将详细介绍 Selenium 的安装和配置过程,包括 Selenium-IDE、Selenium-RC 和 Selenium-Grid 的安装...
《Selenium Testing Tools Cookbook》是一本由Unmesh Gundecha编写的书籍,包含了超过90个的配方,这些配方涵盖了使用Selenium WebDriver来构建、维护和改进测试自动化的各个方面。Unmesh Gundecha在软件工程领域...
Selenium 是一个广泛使用的自动化测试工具,主要用于 web 应用程序的测试。它允许开发人员使用多种编程语言(如 Java)编写测试脚本来模拟用户与网页的交互。 描述中提到的 "selenium-api-4.0.0-alpha-6.jar" 文件...
1. **jetty-http-8.1.15.v20140411.jar**:Jetty是一个轻量级的HTTP服务器和Servlet容器,Selenium使用它来启动一个内嵌的浏览器实例,进行无头测试或者在没有实际浏览器的情况下执行测试。 2. **xml-apis-1.4.01....