- 浏览: 401073 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
学习了,学习了~
Jpcap 网络抓包工具 -
Allen_J_Will:
pengtyao 写道Allen_J_Will 写道为何按照楼 ...
使用mod_cluster进行负载均衡初步预研 -
pengtyao:
Allen_J_Will 写道为何按照楼主的步骤,并参考了 h ...
使用mod_cluster进行负载均衡初步预研 -
Allen_J_Will:
为何按照楼主的步骤,并参考了 http://docs.jbos ...
使用mod_cluster进行负载均衡初步预研 -
362980633:
我在项目中写context.xml,项目没有不部署在tomca ...
配置Tomcat的<Context>元素
最近领导要我和小何一起研究一下自动化测试,并找一下开源的WEB界面自动化测试工具,我锁定了Selenium,小何锁定了Watij,下面是我对Selenium的一些研究以及与Watij的对比。这里感谢一下hyddd写的《Selenium私房菜系列》,是我的入门文章,下面某些内容也是参考了此文。欢迎指正...
1.Selenium工具简介
Selenium是ThoughtWorks公司开发的一套基于WEB应用的验收测试工具,直接运行在浏览器中,模拟客户操作。它抽象出一系列命令来模块用户操作,比如open命令表示打开一个URL,click命令表示点击某个按钮。Selenium实际上将这些命令转化成实际的HTTP请求在浏览器中运行。本系列现在主要包括以下4款:
1. Selenium Core,它的优点是编写测试案例简单,并且支持绝大多数的浏览器,但缺点也同样明显,Selenium Core需要远程安装,Selenese 语言也限制了复杂案例的可能性,并且没有良好的外部扩展,这是些都会是致命的问题。
2. Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web 应用的功能测试。
3. Selenium IDE :支持并且只支持Firefox浏览器,属于Firefox的一个插件,支持的浏览器太少,而依附于Firefox 也不便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码转换功能,可以把Selenium 语言测试用例转为C#,Java,PHP,Ruby,Prel,Groovy,Python等语言的测试案例,我建议使用Selenium IDE + FireBug 进行测试案例的编写,然后转为其他语言的测试用例后,再调用Selenium RC运行测试用例。
4. Selenium RC(Remote Control) 是本人推荐使用的工具,它支持很多浏览器,可以使用C#,Java 等语言编写测试案例,易于维护,同时提供了很好的扩展性,所以接下来将针对Selenium RC 作为默认的测试工具进行介绍。
所以这里建议采用Selenium IDE + Selenium RC + Firebug组合搭建Web应用自动化验收测试。
2.Selenium-IDE安装和使用
安装
1. Selenium官网(http://seleniumhq.org/)下载Selenium-IDE作为Firefox的插件进行安装
使用
1.Firefox工具栏,打开Selenium-IDE插件,如下图:
2.选择插件界面中右上角红色录制按钮(开始录制、停止录制都是此按钮),如下图,这里录制登陆集中管理工具的过程。
3.录制完成后,点击回放按钮可以对刚刚录制的脚本进行回放,这里可以调整回放速度。
4.可以将录制的脚本转换成C#,Java,PHP,Ruby,Prel,Groovy,Python等语言,这里选择Java,如下图:
转换后代码如下:
5.上面转换的代码可以稍加修改便可配合RC使用,修改后代码如下:
3.Selenium-RC安装使用
简介
Selenium RC(Remote Control)是一个基于java编写的开源测试工具,允许使用多种语言编写自动化的WEB UI测试用例。这个工具提供一个Selenium Server可以启动,停止和控制绝大多数主流浏览器,这个服务器使用AJAX直接和浏览器进行交互,可以使用HTTP GET/POST请求向Selenium Server发送命令。
Selenium-RC安装包包含两部分:Selenium-server、Selenium-client-driver(各语言版本分别对应一个 client-driver.jar),server为测试服务器,client-driver为测试用例的API(编写测试用例的使用用到)。
安装:
1. 安装1.5及以上版本的JDK
2. 官网下载最新版Selenium-RC组件至本地,直接解压便可使用
启动Server:
启动命令java -jar Selenium-server.jar 可以带参数启动,如java -jar selenium-server.jar -interactive为以交互模式启动,这里自己可以将启动操作制作成简单的.bat或.sh脚本,如bat脚本(此脚本与selenium- server.jar在同一级目录下):
开发运行测试用例:
这里采用java语言为例来进行说明:
1. 解压Selenium-RC压缩包,取出selenium-java-client-driver.jar
2. 打开Java IDE(Eclipse, NetBeans, IntelliJ, Netweaver, etc.)
3. 新建一个project
4. 将selenium-java-client-driver.jar导入此project的classpath
5. 将Selenium-IDE录制好的html脚本转换成java文件,导入新建的project(可能需要稍作修改,如添加assert判断用例是否测试通过),或直接使用selenium-java-client API编写测试用例。本工具同时支持Junit和TestNg测试框架。
6. 启动Selenium Server
7. 在Java IDE 或命令行执行编写好的测试用例
4.Selenium-RC工作原理
(1).测试案例(Testcase)通过Client Lib的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。
(2).Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。
(3).测试案例通过Client Lib的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。
(4).Selenium Core接收到指令后,执行操作。
(5).浏览器收到新的页面请求信息(因为在(4)中,Selenium Core的操作可能引发新的页面请求),于是发送Http请求,请求新的Web页面。
由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。
(6).Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。
(7).Selenium Server的Http Proxy把接收的Web页面返回给浏览器。
5.Selenium-RC优缺点
与Watij对比的优势:
编号 Selenium Watij
1 跨浏览器 仅IE
2 跨操作系统 仅Windows
3 支持多数主流编程语言C#,Java,PHP,Ruby,Prel,Groovy,Python等 仅java
4 提供Hudson插件,容易与Hudson整合 未提供Hudson插件
5 可以录制和回放脚本,并可以将录制好的脚本转换成各种主流编程语言 未提供此功能
6 API强大,文档全 ?
7 属于同类产品中主流,官方资料详细、拥有正规的中文论坛 较主流,资料不是特别多
8 发展迅速 发展缓慢,出现替代产品
缺点:
1. 对弹出窗口、上传、下载功能测试不太方便,需要借助第三方工具包AutoIt3(但是在使用过程中没有遇见什么问题,可能这个问题是以前版本的问题,而且watij这方面也存在点问题)
6.Selenium-RC与Hudson整合
Selenium提供了Hudson持续集成插件,可以与Hudson进行整合(这里如果确定采用此工具再具体研究怎么整合)。
7.Selenium-RC常用API
一. 文本框Text box
1. 向文本框中填写信息
2. 取出某个文本框中已经填写的信息
3. 判断某文本框是否可编辑
二.下拉框 Drop down list
1. 向下拉框中选值
2. 取出某个下拉框中已经选择的值
3. 取出某个下拉框中所有的选项
三.按钮或链接Button & Link
单击
四. 单选框或多选框 Radio Box & Check Box
1. 选择
1. 不选
2. 判断是否选择
五.表格Table
1. 取出表中某个单元格的值,下标从 0 开始
六.其他 others
1. 取某个元素的特定属性值
2.取某元素的 text 值
3. 取当前页面的 Title
4. 判断页面是否有特定的元素
5. 判断页面是否有特定文字
6. 判断某个元素是否 invisible,图片是空的 the "display" property to "none"或 CSS "visibility" property to "hidden"
7. 模拟 Keyup 事件
8. 打开一个 url,相对或绝对
9. 刷新页面
10. 控制每步操作间隔的时间,milliseconds
11. 开始一个 Selenium session
12. 结束测试
13. 等待新页面加载
14. 页面最大化
8.完整的一个例子
下面是一个完整的创建JDBC连接池和删除JDBC连接池的测试用例:
9.Selenium常见问题
1.需要把浏览器的启动程序添加至PATH环境变量中,否则会抛出异常。提示不能打开浏览器;
2.如果将浏览器的启动程序添加至PATH环境变量中,还是不能打开浏览器,可能是Selenium版本不支持此浏览器版本,支持信息可以通过查看 Selenium-RC的selenium-server.jar中install.rdf 文件看此Selenium都支持那些版本浏览器;
3. 抛Element not found异常时, 一般有两个原因:一个是页面还没加载完,需要添加一条Thread.sleep()语句;一个可能是查找方式有误,比如xpath或id不正确,或查找顺序不正确;
4.selectFrames进入某个frame后,重新选择其它frame时,有时需要退出本frame,如selenium.selectFrame("relative=up");
5.使用Selenium IDE进行脚本录制时,在TWNS管理控制台对功能树的操作不能录制下来,需要手动添加这部分的脚本 ;
6.有时元素找到了,但是挂在那(比如说一个submit按钮,附带了onclick="return xxx"触发事件,把onclick去掉就好了,这个还没找到好的解决方法)
感谢理解。
不好意思,你的问题我不能解答,我就简单试用了一下这个工具,后来就没接触了。
没细看···楼主文章是 翻译的?????
不是翻译的,是参考网上的一些资料再结合自己使用情况整理的一个文档,高质量和深度肯定是谈不上的,因为自己也就用了两三天而已;还有一楼的那位哥们,我开篇就说明了参考了《Selenium私房菜系列》,您要不屑一顾可以不看,但也许对某些从未用过selenium或web验收测试工具能有个大概的印象
没细看···楼主文章是 翻译的?????
1.Selenium工具简介
Selenium是ThoughtWorks公司开发的一套基于WEB应用的验收测试工具,直接运行在浏览器中,模拟客户操作。它抽象出一系列命令来模块用户操作,比如open命令表示打开一个URL,click命令表示点击某个按钮。Selenium实际上将这些命令转化成实际的HTTP请求在浏览器中运行。本系列现在主要包括以下4款:
1. Selenium Core,它的优点是编写测试案例简单,并且支持绝大多数的浏览器,但缺点也同样明显,Selenium Core需要远程安装,Selenese 语言也限制了复杂案例的可能性,并且没有良好的外部扩展,这是些都会是致命的问题。
2. Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web 应用的功能测试。
3. Selenium IDE :支持并且只支持Firefox浏览器,属于Firefox的一个插件,支持的浏览器太少,而依附于Firefox 也不便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码转换功能,可以把Selenium 语言测试用例转为C#,Java,PHP,Ruby,Prel,Groovy,Python等语言的测试案例,我建议使用Selenium IDE + FireBug 进行测试案例的编写,然后转为其他语言的测试用例后,再调用Selenium RC运行测试用例。
4. Selenium RC(Remote Control) 是本人推荐使用的工具,它支持很多浏览器,可以使用C#,Java 等语言编写测试案例,易于维护,同时提供了很好的扩展性,所以接下来将针对Selenium RC 作为默认的测试工具进行介绍。
所以这里建议采用Selenium IDE + Selenium RC + Firebug组合搭建Web应用自动化验收测试。
2.Selenium-IDE安装和使用
安装
1. Selenium官网(http://seleniumhq.org/)下载Selenium-IDE作为Firefox的插件进行安装
使用
1.Firefox工具栏,打开Selenium-IDE插件,如下图:
2.选择插件界面中右上角红色录制按钮(开始录制、停止录制都是此按钮),如下图,这里录制登陆集中管理工具的过程。
3.录制完成后,点击回放按钮可以对刚刚录制的脚本进行回放,这里可以调整回放速度。
4.可以将录制的脚本转换成C#,Java,PHP,Ruby,Prel,Groovy,Python等语言,这里选择Java,如下图:
转换后代码如下:
package com.example.tests; import com.thoughtworks.selenium.*; import java.util.regex.Pattern; public class MasterLogin extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://change-this-to-the-site-you-are-testing/", "*chrome"); } public void testUntitled 2() throws Exception { selenium.open("/gm/login.jsf"); selenium.type("j_username", "tongweb"); selenium.type("j_password", "tongweb"); selenium.click("j_security_check"); selenium.waitForPageToLoad("30000"); } }
5.上面转换的代码可以稍加修改便可配合RC使用,修改后代码如下:
package com.example.tests; import com.thoughtworks.selenium.*; import java.util.regex.Pattern; public class MasterLogin extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://localhost:9060/", "*firefox"); // Modify this line } public void testMasterLogin() throws Exception { selenium.open("/gm/login.jsf"); selenium.type("j_username", "tongweb"); selenium.type("j_password", "tongweb"); selenium.click("j_security_check"); selenium.waitForPageToLoad("30000"); assertEquals("TongWeb管理控制台", selenium.getTitle()); // Judging the testcase is pass or failed by add a assert. } }
3.Selenium-RC安装使用
简介
Selenium RC(Remote Control)是一个基于java编写的开源测试工具,允许使用多种语言编写自动化的WEB UI测试用例。这个工具提供一个Selenium Server可以启动,停止和控制绝大多数主流浏览器,这个服务器使用AJAX直接和浏览器进行交互,可以使用HTTP GET/POST请求向Selenium Server发送命令。
Selenium-RC安装包包含两部分:Selenium-server、Selenium-client-driver(各语言版本分别对应一个 client-driver.jar),server为测试服务器,client-driver为测试用例的API(编写测试用例的使用用到)。
安装:
1. 安装1.5及以上版本的JDK
2. 官网下载最新版Selenium-RC组件至本地,直接解压便可使用
启动Server:
启动命令java -jar Selenium-server.jar 可以带参数启动,如java -jar selenium-server.jar -interactive为以交互模式启动,这里自己可以将启动操作制作成简单的.bat或.sh脚本,如bat脚本(此脚本与selenium- server.jar在同一级目录下):
@echo off rem --------------------------------------------------------------------------- rem Start Selenium Server rem Add by pengyao 08/26/2010 rem --------------------------------------------------------------------------- java -jar selenium-server.jar
开发运行测试用例:
这里采用java语言为例来进行说明:
1. 解压Selenium-RC压缩包,取出selenium-java-client-driver.jar
2. 打开Java IDE(Eclipse, NetBeans, IntelliJ, Netweaver, etc.)
3. 新建一个project
4. 将selenium-java-client-driver.jar导入此project的classpath
5. 将Selenium-IDE录制好的html脚本转换成java文件,导入新建的project(可能需要稍作修改,如添加assert判断用例是否测试通过),或直接使用selenium-java-client API编写测试用例。本工具同时支持Junit和TestNg测试框架。
6. 启动Selenium Server
7. 在Java IDE 或命令行执行编写好的测试用例
4.Selenium-RC工作原理
(1).测试案例(Testcase)通过Client Lib的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。
(2).Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。
(3).测试案例通过Client Lib的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。
(4).Selenium Core接收到指令后,执行操作。
(5).浏览器收到新的页面请求信息(因为在(4)中,Selenium Core的操作可能引发新的页面请求),于是发送Http请求,请求新的Web页面。
由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。
(6).Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。
(7).Selenium Server的Http Proxy把接收的Web页面返回给浏览器。
5.Selenium-RC优缺点
与Watij对比的优势:
编号 Selenium Watij
1 跨浏览器 仅IE
2 跨操作系统 仅Windows
3 支持多数主流编程语言C#,Java,PHP,Ruby,Prel,Groovy,Python等 仅java
4 提供Hudson插件,容易与Hudson整合 未提供Hudson插件
5 可以录制和回放脚本,并可以将录制好的脚本转换成各种主流编程语言 未提供此功能
6 API强大,文档全 ?
7 属于同类产品中主流,官方资料详细、拥有正规的中文论坛 较主流,资料不是特别多
8 发展迅速 发展缓慢,出现替代产品
缺点:
1. 对弹出窗口、上传、下载功能测试不太方便,需要借助第三方工具包AutoIt3(但是在使用过程中没有遇见什么问题,可能这个问题是以前版本的问题,而且watij这方面也存在点问题)
6.Selenium-RC与Hudson整合
Selenium提供了Hudson持续集成插件,可以与Hudson进行整合(这里如果确定采用此工具再具体研究怎么整合)。
7.Selenium-RC常用API
一. 文本框Text box
1. 向文本框中填写信息
type(java.lang.String locator, java.lang.String value) //eg.selenium.type("salutationText", "abc");
2. 取出某个文本框中已经填写的信息
java.lang.String getValue(java.lang.String locator) //eg:selenium.getValue("xpath=//input@name='addProfileLastName'");
3. 判断某文本框是否可编辑
boolean isEditable(java.lang.String locator) //eg.selenium.isEditable("xpath=//input@name='addProfileLastName'");
二.下拉框 Drop down list
1. 向下拉框中选值
select(java.lang.String selectLocator, java.lang.String optionLocator) //eg.selenium.select("typeSelect", "label=Date");
2. 取出某个下拉框中已经选择的值
java.lang.StringgetSelectedLabel(java.lang.String selectLocator) //eg. selenium.getSelectedLabel("xpath=//SELECT@name='addSatution'")
3. 取出某个下拉框中所有的选项
java.lang.String[] getSelectOptions getSelectOptions getSelectOptions(java.lang.String selectLocato getSelectOptionsr) //eg. selenium.getSelectOptions("//div@id='mysearch_tips'/select")
三.按钮或链接Button & Link
单击
click(java.lang.String locator) //eg. selenium.click("link=Administration"); //selenium.click("xpath=//input@checkfield='addIndicatorName' and @name='addBtn'");
四. 单选框或多选框 Radio Box & Check Box
1. 选择
check(java.lang.String locator) //eg. selenium.check("otherPhoneFlag");
1. 不选
uncheck(java.lang.String locator) //eg. selenium.uncheck("otherPhoneFlag");
2. 判断是否选择
booleanisChecked(java.lang.String locator) //eg. selenium.isChecked("otherPhoneFlag");
五.表格Table
1. 取出表中某个单元格的值,下标从 0 开始
java.lang.String getTable(java.lang.String tableCellAddress) //eg. selenium.getTable("//div@id='profiles-search'/div2/table.1.1");
六.其他 others
1. 取某个元素的特定属性值
java.lang.String getAttribute(java.lang.String attributeLocator) //eg. selenium.getAttribute("xpath=//img@name='picName'@style")
2.取某元素的 text 值
java.lang.String getText(java.lang.String locator) //eg. selenium.getText("link=Contacts")
3. 取当前页面的 Title
java.lang.String getTitle() //eg. selenium.getTitle()
4. 判断页面是否有特定的元素
boolean isElementPresent(java.lang.String locator) //eg. booleanisElementPresent(java.lang.String locator)
5. 判断页面是否有特定文字
boolean isTextPresent(java.lang.String pattern)
6. 判断某个元素是否 invisible,图片是空的 the "display" property to "none"或 CSS "visibility" property to "hidden"
boolean isVisible(java.lang.String locator) //eg.selenium.isVisible("xpath=//img@name='picName'")
7. 模拟 Keyup 事件
keyUp(java.lang.String locator,java.lang.String keySequence) //eg. selenium.keyUp("creditCardExpMonth", "1");
8. 打开一个 url,相对或绝对
open(java.lang.String url) //eg.selenium.open("/login.aspx");
9. 刷新页面
refresh() //eg.selenium.refresh();
10. 控制每步操作间隔的时间,milliseconds
setSpeed(java.lang.String value) //eg. selenium.setSpeed("3000");
11. 开始一个 Selenium session
start() //eg. selenium.start();
12. 结束测试
stop() //eg. selenium.stop();
13. 等待新页面加载
waitForPageToLoad(java.lang.String timeout) //selenium.waitForPageToLoad("60000");
14. 页面最大化
windowMaximize() //eg.selenium.windowMaximize();
8.完整的一个例子
下面是一个完整的创建JDBC连接池和删除JDBC连接池的测试用例:
package com.tongweb.selenium.test; import com.thoughtworks.selenium.SeleneseTestCase; /** * 集中管理工具中创建一个名为jdbcpool_test连接池,创建成功后进行删除操作, * 为了更好的展示界面是如何操作的,所以加入不少sleep语句。 * @author pengyao 07/09/2010 * */ public class CreateAndDeleteJdbcConnectPoolTestCase extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://localhost:9060/", "*firefox"); } public void testCreateAndDeleteJdbcConnectPool() throws Exception { selenium.windowMaximize(); selenium.open("/gm/login.jsf"); selenium.type("j_username", "tongweb"); selenium.type("j_password", "tongweb"); selenium.click("j_security_check"); selenium.waitForPageToLoad("30000"); selenium.selectFrame("mainFrame"); selenium.click("b1"); // jdbcpool_test JDBC连接池radio在页面的xpath路径 String jdbcpool_test = "//tr[td/a='jdbcpool_test']/td[1]/input"; // 判断如果jdbcpool_test JDBC连接池已存在,则先进行删除操作 boolean isExist = selenium.isElementPresent(jdbcpool_test); if (isExist) { selenium.click("//tr[td/a='jdbcpool_test']/td[1]/input"); Thread.sleep(3000); selenium.click("TongWebIndex:j_id_id273"); Thread.sleep(3000); selenium.waitForPageToLoad("30000"); } // 填写必要参数 selenium.click("TongWebIndex:j_id_id271"); selenium.waitForPageToLoad("30000"); selenium.type("createConnectPool:ConnPoolName", "jdbcpool_test"); selenium.select("createConnectPool:resType", "label=javax.sql.DataSource"); selenium.select("createConnectPool:dataSourceMap", "label=MySQL Connector/J Type 4 Driver for MySQL"); selenium.type("createConnectPool:ConnPoolDesc", "aaa"); selenium.addSelection("createConnectPool:j_id_id137", "label=192.168.11.24:7200"); selenium.click("createConnectPool:j_id_id148"); selenium.waitForPageToLoad("30000"); selenium.type("createConnectPoolProps:username", "root"); selenium.type("createConnectPoolProps:connURL", "jdbc:mysql://192.168.11.24:3306/test?user=root"); selenium.click("add"); selenium.type("propName_0", "ddd"); selenium.type("propValue_0", "ddd"); selenium.click("createConnectPoolProps:j_id_id372"); selenium.waitForPageToLoad("30000"); Thread.sleep(5000); // 判断是否创建成功 assertTrue(selenium.isElementPresent(jdbcpool_test)); selenium.click("//tr[td/a='jdbcpool_test']/td[1]/input"); Thread.sleep(3000); selenium.click("TongWebIndex:j_id_id273"); selenium.waitForPageToLoad("30000"); // 判断是否删除成功 assertFalse(selenium.isElementPresent(jdbcpool_test)); } }
9.Selenium常见问题
1.需要把浏览器的启动程序添加至PATH环境变量中,否则会抛出异常。提示不能打开浏览器;
2.如果将浏览器的启动程序添加至PATH环境变量中,还是不能打开浏览器,可能是Selenium版本不支持此浏览器版本,支持信息可以通过查看 Selenium-RC的selenium-server.jar中install.rdf 文件看此Selenium都支持那些版本浏览器;
3. 抛Element not found异常时, 一般有两个原因:一个是页面还没加载完,需要添加一条Thread.sleep()语句;一个可能是查找方式有误,比如xpath或id不正确,或查找顺序不正确;
4.selectFrames进入某个frame后,重新选择其它frame时,有时需要退出本frame,如selenium.selectFrame("relative=up");
5.使用Selenium IDE进行脚本录制时,在TWNS管理控制台对功能树的操作不能录制下来,需要手动添加这部分的脚本 ;
6.有时元素找到了,但是挂在那(比如说一个submit按钮,附带了onclick="return xxx"触发事件,把onclick去掉就好了,这个还没找到好的解决方法)
评论
6 楼
wjeye
2012-02-24
路过,学习一下
5 楼
pengtyao
2011-12-04
libin0019 写道
个人觉得整理别人的资料没什么不好,方便自己查阅,况且楼主也注明了文章的出处,我最近也在做这方面的工作,我们采用的框架是:Selenium WebDriver + TestNg +Autoit3。
我想问楼主几个问题,可否给解答一下?
1、对于模态窗口采用Autoit3的办法解决,应该公限于本地跑测试代码吧,但是如果想使用Selenium Grid 进行并行测试,这时候应该怎么解决模态窗口的问题呢?(这个也是我正在解决的问题)
2、对于数据库中测试数据的恢复问题,楼主在工作中是如何解决的?
我想问楼主几个问题,可否给解答一下?
1、对于模态窗口采用Autoit3的办法解决,应该公限于本地跑测试代码吧,但是如果想使用Selenium Grid 进行并行测试,这时候应该怎么解决模态窗口的问题呢?(这个也是我正在解决的问题)
2、对于数据库中测试数据的恢复问题,楼主在工作中是如何解决的?
感谢理解。
不好意思,你的问题我不能解答,我就简单试用了一下这个工具,后来就没接触了。
4 楼
libin0019
2011-10-31
个人觉得整理别人的资料没什么不好,方便自己查阅,况且楼主也注明了文章的出处,我最近也在做这方面的工作,我们采用的框架是:Selenium WebDriver + TestNg +Autoit3。
我想问楼主几个问题,可否给解答一下?
1、对于模态窗口采用Autoit3的办法解决,应该公限于本地跑测试代码吧,但是如果想使用Selenium Grid 进行并行测试,这时候应该怎么解决模态窗口的问题呢?(这个也是我正在解决的问题)
2、对于数据库中测试数据的恢复问题,楼主在工作中是如何解决的?
我想问楼主几个问题,可否给解答一下?
1、对于模态窗口采用Autoit3的办法解决,应该公限于本地跑测试代码吧,但是如果想使用Selenium Grid 进行并行测试,这时候应该怎么解决模态窗口的问题呢?(这个也是我正在解决的问题)
2、对于数据库中测试数据的恢复问题,楼主在工作中是如何解决的?
3 楼
pengtyao
2010-09-17
witcheryne 写道
zx339 写道
您不如也把http://seleniumhq.org/docs/05_selenium_rc.html给出来么?
没细看···楼主文章是 翻译的?????
不是翻译的,是参考网上的一些资料再结合自己使用情况整理的一个文档,高质量和深度肯定是谈不上的,因为自己也就用了两三天而已;还有一楼的那位哥们,我开篇就说明了参考了《Selenium私房菜系列》,您要不屑一顾可以不看,但也许对某些从未用过selenium或web验收测试工具能有个大概的印象
2 楼
witcheryne
2010-09-15
zx339 写道
您不如也把http://seleniumhq.org/docs/05_selenium_rc.html给出来么?
没细看···楼主文章是 翻译的?????
1 楼
zx339
2010-09-14
您不如也把http://seleniumhq.org/docs/05_selenium_rc.html给出来么?
发表评论
-
UE 替换技巧
2015-11-13 20:44 21321.去掉文本中包含某特定字符串的行(请细细体会一下,这个很常用 ... -
vncserver操作远程oracle
2015-09-24 11:33 9521、远程linux没有安装桌面的安装桌面 2、远程linux安 ... -
linux 网络配置
2015-02-13 11:04 9271、配置IP和DNS [root@1_5-xhf-app6 ~ ... -
CentOS下安装JDK1.7 (tar.gz包)
2015-02-12 15:07 22861、源码包准备: 首先到官网下载jdk,http://www ... -
statsvn & cloc代码统计工具
2011-04-13 16:10 9379StatSVN简单使用说明 本文参考网上一些资料以及Stat ... -
TestLink运行环境:Redhat5+Apache2.2.17+php-5.3.5+MySQL5.5.9-1
2011-02-16 17:46 3522安装MySQL 通过rpm -ivh 命令安装下面几个mysq ... -
TestLink与JIRA集成
2011-02-15 16:54 17272TestLink简介 TestLink用于进行测试过 ... -
对apache中并发控制参数prefork理解和调优
2010-11-18 11:16 1501httpd_home/bin/下查看该http ... -
设置 Apache HTTP Server 的文件根目录(DocumentRoot)
2010-09-29 17:16 5755设置 Apache HTTP Server 的文件根目录(Do ... -
Linux > Apache > HTTP Server> Install
2010-09-25 20:14 1244Download $ lynx http://httpd. ... -
Emma in Ant for offline
2010-09-19 16:41 37831. 下载emma lib http://sourceforg ...
相关推荐
本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...
引言:什么是RFS——RobotFramework+Selenium2library,本系列主要介绍web自动化验收测试方面。之前一直使用Selenium2Library的0.5.2版本,现在官方推出了1.0.0版本,本人在升级过程中遇到了很多的问题,于是痛下...
Selenium 是一个强大的开源自动化测试框架,主要用于Web应用程序的测试。它允许开发人员编写可运行在多种浏览器和操作系统上的测试脚本,极大地提高了测试的覆盖率和效率。Selenium 支持多种编程语言,如Java、...
Selenium是一个开源的Web应用程序接口(API),可以模拟用户在浏览器中的操作,如点击按钮、填写表单、导航等,从而实现对Web页面功能的自动化测试。 Pytest是Python的一个测试框架,它提供了灵活且易于使用的测试...
Selenium是一个开源的Web自动化测试工具,它支持多种编程语言,包括Python。Python作为简洁易懂的脚本语言,非常适合编写自动化测试脚本。Selenium与Python的结合使得测试代码编写更为简单,且易于维护。 在描述中...
《Selenium2自动化测试实战——基于Python语言》是一本针对软件测试工程师,尤其是对Web应用程序自动化测试感兴趣的读者的专业书籍。作者虫师在2016年10月编写了这本书,尽管时间已过去数年,但Selenium作为自动化...
1.着重介绍如何使用selenium和webdriver两种开源的自动化工具,来构建自动化测试体系。 2.已测试googlemail为具体范例提供了完整的web自动化测试解决方案。 3.从实战出发,指引大家使用自动化测试平台。 4.提供...
Selenium是一个主要用于Web应用程序自动化测试的工具集合,在行业内已经得到广泛的应用。本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门...
资源名称:SELENIUM 2 自动化测试实战 基于PYTHON语言内容简介:《Selenium 2自动化测试实战——基于Python语言》共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是《Selenium 2自动化测试...
《零成本实现Web自动化测试-基于Selenium和Bromine》是温素剑撰写的一本技术书籍,专注于介绍如何在不产生额外费用的情况下,利用开源工具进行高效的Web自动化测试。书中的内容涵盖了一系列与Web自动化测试相关的...
Selenium是一个广泛使用的Web应用程序自动化测试工具,它支持多种浏览器,并且有多种语言绑定,如Java、Python等。Selenium WebDriver是其核心部分,通过模拟用户行为与浏览器进行交互,如点击按钮、填写表单、选择...
Selenium,作为一款强大的Web自动化测试工具,是软件测试领域不可或缺的一部分。它允许开发者编写脚本,模拟用户在浏览器中的各种交互行为,如点击、填写表单、导航等,从而实现对网页应用的功能验证和性能评估。...
web自动化,java+selenium,得到视频列表,自动播放视频。 环境要求: 1.javaJDK 1.8+; 2.需要在jar包同级目录下创建‘log’目录; 3.需要在jar包同级目录下放置‘chromedriver.exe’文件; 4.需要在jar包同级目录...
个人觉得这个工具比任何自动化测试框架都好使,使用关键字和数据双驱动,不需要写一行代码,无需维护脚本,只需要维护用例数据。Web元素只需要在Chrome中复制xPath即可,定位非常高效。 工具安全无木马,目的只为...
引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍web自动化验收测试方面。 引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍web自动化验收测试方面。 ==RobotFramework...
Selenium,作为一个非常流行的自动化测试框架,支持多种浏览器和操作系统,可以用于自动化Web应用程序的测试。在Python环境中,Selenium与Python结合,可以快速实现Web自动化测试。以下知识点将围绕“Selenium2 ...
引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍web自动化验收测试方面。好久没写东西了,最近没怎么弄QTP了,之前一直想找一个能方便管理QTP对象的东东,FrameworkManage用excel管理虽然是...
自动化测试工具Selenium书籍(9本)目录知识点(思维导图加图).rar 根据如下9本Selenium书籍收集整理: 2013年《Selenium自动化测试指南》 2015年《零成本实现Web自动化测试:基于Selenium WebDriver和Cucumber》 ...