5对硒IDE和硒遥控(Java)测试工具的周详指南
硒是为Web应用程序测试的一个高质量开放来源测试自动化工具。 硒在Internet Explorer、在Windows、Linux和麦金塔,在Mac的徒步旅行队的Mozilla和Firefox跑,与计划很快支持在iPhone的徒步旅行队。 硒测试剧本是便携式的,可以跑从浏览器(使用硒IDE)或从JUNit或NGUnit (使用硒RC)等。 例如,使用硒被写的测试剧本IDE在Firefox在Windows在Mac或Linux的Firefox可能跑,没有改变任何代码。 硒测验运行直接地在浏览器和严密地如此匹配终端用户经验。
有硒三个变形,可以用于隔离或在组合创造完全自动化您的Web应用程序的测试程序。
- 硒核心-在硒核心测试在HTML写电影脚本(写),并且硒测试赛跑者(写在Java语言)被上载到主持应用您的同样网络服务器设法测试。 硒的一简单形式和适用于非开发商,但是它有一些固有限制。
- 硒IDE -硒IDE是插入式的Firefox,包括整个硒核心,允许您记录,使用,编辑和调试在浏览器的测试。 它提供最简单的介绍给硒并且为初学者是高度推荐的。 您能保存在xml或html格式/测试程序创造的测试。 然而跑他们自动化的时尚您需要其次被描述遥控的硒。
- 遥控的硒-遥控的硒允许您开发判例案件和Java (支持JUnit & NGUnit), PHP、红宝石、Python、甚而Perl和.NET的测试程序。 它是最灵活的设定,但是要求一些发展知识设定和使用。
- 硒栅格-硒栅格允许数硒遥控服务器由Selenium Grid服务器平行访问。 这是非常有用的对Web应用程序自动化的装载和重音测试。
今天我们将谈论关于怎样您能容易地创造自动测试剧本使用硒IDE和转换他们成(使用遥控的硒)可以增加到您的JUnit基于自动退化测试程序的JUnit测试。
如何创造实验计划在硒IDE
创造实验计划在硒IDE是非常容易,因此我们将使用它创造少量简单测试开始与。
- 安装 硒IDE 0.8.7,插入式的Firefox。
- 在安装硒以后请重新开始您的插入式的Firefox浏览器能将被激活的。
- 现在您应该看到一个新的增加的菜单项目命名的Selenium IDE在您的Firefox工具菜单之下。
- 开放/浏览做准备您想要判例的站点为。
- 开始硒IDE从Firefox Tools->Selenium IDE。
- 浏览有些页。
- 现在点击红色按钮停止记录。
这时您将看见硒自动地记录您的行动。 小心地注意命令、目标和价值。 您能创造,并且插入您自己的命令修改甚至删除他们。 我们将显示下面有些例子。 在下个部分我们将看见我们怎么可以修改引起的测试适合我们的需要。
如何创造/修改/删除硒命令
selenium引起的缺省命令,当您浏览页,应该修改一名正常用户使测试更加健壮和增加判例案件到它。
- 我们被clickAndWait替换所有点击命令。 点击点击指定的链接并且执行下个命令,无需等待。 在其他手上clickAndWait等待新的页对装载在执行下个命令之前。 应该用于clickAndWait做更加健壮的判例案件。
- 插入物assertTextNotPresent命令,在每个clickAndWait命令证实文本不能是存在浏览的页之后。
- 用途assertTextPresent命令证实文本一定是存在浏览的页。
- 最终测试您的实验计划请点击绿色箭头按钮从开始使用或从起动点使用。
- 出口实验计划当Java文件由Selenium IDE File->Export测试As->Java -硒RC (例如文件名是SeleniumSTSanityTest.java)
- 然后结束您的Firefox硒ID.
如何在实验计划(从硒IDE)的自动地引起的Java文件之上跑在命令行?
- 下载 硒RC。
- 拉开它拉链在SeleniumSTSanityTest.java的同一个目录里(被出口的实验计划当从硒ID的Java文件)被保存。
- 安装junit。
- 去您拉开硒遥远控制1.0beta1 dist.zip文件拉链的目录。
- 打开终端并且做下面步
- CD硒遥远控制1.0 beta 1/selenium服务器1.0beta1
- Java -瓶子硒server.jar (跑服务器在对话方式下执行Java -交互式瓶子硒server.jar -)
- 如果您有象错误的一个错误: com.thoughtworks.selenium.SeleniumException : 错误服务器例外: sessionId不应该是空的; 这个会议开始了? 然后保证浏览器在道路在跑服务器之前。 例如,您想要进行在Firefox的测试。 然后您应该做其次二步。
- 找出firefox容器(例如它退回/usr/lib/firefox-1.5.0.12/firefox-bin)
- 出口PATH=$PATH :/usr/lib/firefox- 1.5.0.12 /firefox容器;
注: 有一个可供选择的方法在错误之上固定(浏览器不在道路)。 用在SeleniumSTSanityTest.java文件的浏览器道路替换镀铬物。 例如:
线
设定(“http://blog.taragana.com”, “*chrome”);
成为
设定(“http://blog.taragana.com”, “*firefox /usr/lib/firefox-1.5.0.12/firefox-bin ");
在SeleniumSTSanityTest.java。
要进行在歌剧浏览器的测试用歌剧替换镀铬物。
现在硒服务器运行,并且您必须跑位于硒遥远控制1.0 beta 1/selenium Java客户司机1.0beta1的Java客户。
- 打开另一个终端。
- 出口CLASSPATH=。:硒遥远控制1.0 beta 1/selenium Java客户司机1.0 beta 1/selenium Java客户driver.jar :/usr/share/java/junit.jar
- javac SeleniumSTSanityTest.java
- Java SeleniumSTSanityTest
自动地引起的Java文件SeleniumSTSanityTest.java可能有有些瑕疵。 通过固定它和下面例子相比:
进口com.thoughtworks.selenium.*;
进口junit.framework.*;
进口java.util.regex。样式;
公开类SeleniumSTSanityTest延伸SeleneseTestCase {
公众空设定()投掷例外{
设定(“http://blog.taragana.com”, “*chrome”); 进行在歌剧的测试的//用歌剧替换镀铬物
}
公众空testSimpleThoughts ()投掷例外{
selenium.open ("");
assertFalse (selenium.isTextPresent (“WordPress数据库错误: ["));
assertTrue (selenium.isTextPresent (“2003-2008”));
selenium.open (“/index.php/category/programming/java”);
selenium.waitForPageToLoad (“30000”);
assertFalse (selenium.isTextPresent (“WordPress数据库错误: ["));
assertTrue (selenium.isTextPresent (“2003-2008”));
selenium.click (“//img [@alt='Übersetzen Sie zum德意志或German'] ");
selenium.waitForPageToLoad (“30000 ″);
assertFalse (selenium.isTextPresent (“WordPress数据库错误: ["));
assertTrue (selenium.isTextPresent (“2003-”));
selenium.click (“//img [@alt='Přeložit做Čech或Czech'] ");
selenium.waitForPageToLoad (“60000 ″);
assertFalse (selenium.isTextPresent (“WordPress数据库错误: ["));
assertTrue (selenium.isTextPresent (“2003年”));
}
公开静态测试随员() {
回归新的TestSuite (SeleniumSTSanityTest.class);
}
公开静止空隙扼要(串args []) {
junit.textui.TestRunner.run (随员());
}
}
告诉我您是否有关于怎样的任何意见/建议我们可以改进本指南。
归档在 标题新闻之下, Java软件, 赞成Blogging, 网 |
|
RSS 2.0 |
Trackback 这篇文章 |
给这篇文章发电子邮件
您可以也喜欢读 |


增加到Technorati喜爱


































2008年7月25日在8:06上午
好讲解。 但是不幸地-我不可能摆脱“会议”错误-使用代码。 我必须增加它在道路。
并且硒RC不运作-,如果“测试网络服务器”被编码-使用Java语言-,以便它“不frameable”。(或可能是我们改了方向到其他网站)