Selenium指南
网站:http://www.openqa.org
国内大部分公司还依靠QA组的MM看着测试用例Word文档来手工测试。如果钱人有限,又想改变现状,最实在的自动化测试建议是先编写直接访问数据库的商业层单元测试用例和 基于Selenium的集成测试用例。
在徐昊指导下,SpringSide2.0 已经全面应用Selenium。
Selenium能被选为最好集成测试、回归测试方案的原因是:
1. Selenium IDE ,一个FireFox plugin,能自动记录用户的操作,生成测试脚本。
2. 生成的测试脚本可以用Selenium Core手工执行,也能基于Selenium RC放入Java,C#,Ruby的单元测试用例中自动运行。
3. 测试用例调用实际的浏览器(如IE、FireFox)来执行测试。和有些开源方案自行实现Web解释引擎相比,实际的浏览器能模拟更多用户交互和JS语法,顺便还可以测试各浏览器兼容性。
4. 测试脚本语法非常简单,见后。
1. 使用Selenium IDE生成脚本
Selenium IDE是一个Firefox1.5插件,下载后用Firefox将其打开。
工具->Selenium IDE,点击红色的recorder按钮开始录制,在网站中乱点时可以即时看到每个动作的脚本。
切换Format:显示 HTML,Java,C#,Ruby 语法的脚本。 option里还可以设定Java里Selenium变量的名称,如设为user,使脚本显示为user.input("name","foo"); user.type("addButton"),阅读比较自然。
2.测试用例与测试脚本
public class UserManagerTest extends TestCase
{
private Selenium user; public void setUp() throws Exception {
user = new DefaultSelenium( " localhost " , SeleniumServer.DEFAULT_PORT, " *iexplore " , " http: );
user.start();
} protected void tearDown() throws Exception {
user.stop();
}
public void testUserEdit() {
user.open( " /helloworld " );
user.click( " );
user.waitForPageToLoad( " 3000 " );
user.type( " user.name " , " calvin " );
user.click( " save " );
user.waitForPageToLoad( " 3000 " );
assertTrue(user.isTextPresent( " calvin " ));
}
留意setUp中的"*iexplore"参数,设定使用IE作为测试浏览器;如果设为"*firefox",就会在PATH中查找*firefox.exe。
注意,Selenium使用IE时的Proxy机制比较特殊,如果你同时在本机ADSL modem拨号上网,要先断网。
脚本中按徐昊的指导,使用user 作为Selenium的变量名,使用例更加易读。
Selenium RC里并没有为Java单列一个函数参考手册,需要阅读公共的Selenium Refrences ,再使用同名对应的java函数。
所有函数都有一个locator参数,将操作付诸某个页面上的对象。支持ID,DOM语法,XPath语法,CSS selector语法等,详见参考手册。
如果不会写,最好的老师就是Selenium IDE。比如那句点击<a href="user.do?id=0" mce_href="user.do?id=0" />修改</a>,就是用IDE得到user.click("//a[contains(@href, 'user.do?id=0')]")的XPath语句。
3.Ant的运行脚本
我写的Ant测试脚本一个重要特征是使用<parallel> 并行容器节点,一边同时打开tomcat 和selenium server,一边等待两者打开后执行JUnit测试。
如果不使用并行节点,而是用spawn=yes属性后台启动tomcat,则屏幕里看不到tomcat信息,如果测试意外终止的话,也不能关闭tomcat。
< parallel >
< antcall target ="tomcat.start" />
< antcall target ="selenium.server.start" />
< sequential >
< waitfor maxwait ="10" maxwaitunit ="minute" checkevery ="1" checkeveryunit ="second" >
< http url =http: </waitfor >
< waitfor maxwait ="10" maxwaitunit ="minute" checkevery ="1" checkeveryunit ="second" >
< socket server ="localhost" port ="4444" />
</ waitfor >
< junit .. />
< antcall target ="tomcat.stop" />
</ sequential >
</ parallel >
4.SpringSide 中的FunctionalTestCase基类
SpringSide中抽象了一个FunctionalTestCase 基类,抽取了setUp() ,tearDown()函数中selenium server 开闭操作。
其中浏览器类型默认为"*iexplore", 基本url默认为http://localhost:8080
用户可以在Classpath 根目录中放置selenium.properties 文件,重新设定selenium.explorer 和selenium.baseurl 变量。
分享到:
相关推荐
**Selenium初学者指南** Selenium是一款强大的自动化测试工具,尤其在Web应用程序的测试领域,它占据了重要地位。本指南专为初次接触Selenium的读者设计,旨在帮助你们快速掌握这个强大的工具,从而提高测试效率,...
在"Selenium-doc, selenium 中文文档.zip"中,我们可以找到详尽的 Selenium 指南,包括以下几个核心知识点: 1. **Selenium WebDriver**:WebDriver 是 Selenium 的最新接口,它提供了一种标准化的方式来控制浏览器...
《Selenium 初学者指南》这本书可能是你的第一站,它会引导你了解自动化测试的基本概念,解释Selenium的核心组件和API,以及如何安装和配置Selenium。书中可能涵盖了创建测试用例、执行基本的浏览器操作(如点击、...
### Selenium使用指南知识点详解 #### 一、前言 Selenium 是一个强大的自动化测试工具集,主要用于Web应用程序的测试。它支持多种编程语言,并且可以在不同的浏览器上运行。本指南旨在帮助用户快速掌握Selenium的...
软件测试丛书 Selenium自动化测试指南,欢迎下载,1111
Selenium的特性突出,应用前景看好。相关书籍较少,存在市场空白。, 整理了所有个人经验及其他人在Selenium实用过程中的经验,对一些疑难问题进行说明。在作者所在公司的推广和培训中,得到同事的好评。很有实践指导...
**Selenium 使用指南** 在自动化测试领域,Selenium 是一个非常强大的工具,它允许开发者编写脚本来模拟用户在浏览器上的各种操作。这篇指南将重点介绍如何在 Python 环境中使用 Selenium,特别是针对 Firefox 和 ...
### Selenium RC 使用指南 #### 一、Selenium RC 概述 Selenium RC(Remote Control)是Selenium项目中的一款工具,主要用于实现自动化Web应用程序测试。它可以模拟用户操作浏览器的各种行为,例如点击按钮、填写...
Selenium是一个非常强大的自动化测试工具,它广泛应用于Web应用程序的测试中。Selenium支持多种浏览器,包括但不限于Internet Explorer、Mozilla Firefox、Safari、Google Chrome和Opera等,它允许测试人员录制、...
**Selenium WebDriver Java 版使用指南** Selenium WebDriver 是一个自动化测试工具,广泛用于Web应用程序的测试。在Java环境中,Selenium提供了丰富的API,使得我们可以编写脚本来控制各种浏览器进行自动化测试。...
【标题】: "myeclipse+jdk1.7+selenium简易安装指南" 【描述】: "myeclipse+jdk1.7+selenium自动化测试环境框架" 【标签】: "myeclipse jdk1.7 selenium" 【正文】: 在进行自动化测试时,构建一个稳定且高效的...
《Selenium2 Python自动化测试实战》是一本面向初级和中级测试工程师的指南,旨在教授如何使用Python和Selenium WebDriver进行Web自动化测试。这本书由一位热衷于技术实践和分享的作者编写,通过大量实例展示了如何...
selenium IDE使用手册,写的很好,请大家参考,多多学习
自动化测试seleniumWebDriverjava版使用指南 。