IBM®Rational®Quality Manager的版本4.0引入了创建自动JUnit Selenium测试脚本的功能。 就像从Rational Quality Manager远程运行Rational Functional Tester自动化测试一样,您现在可以运行Selenium测试。 测试结果将返回到Rational Quality Manager。
Selenium是一个专为Web应用程序设计的开源软件测试框架。 有可用的不同组件:
- Selenium IDE,可用于记录和创建自动化测试,而无需了解特定的脚本语言。
- Selenium WebDriver API,您可以使用自己选择的脚本语言来创建测试。 支持的语言是Java,Ruby,Python和C#。 因为JUnit是Java编程语言的单元测试框架,并且测试是使用JUnit从Rational Quality Manager运行的,所以Java是必须写入任何Selenium WebDriver测试以得到支持的语言。
Selenium还提供了更广泛的浏览器支持,可以部署在Microsoft Windows,Linux和Apple Macintosh平台上。
在本教程中,运行Rational Quality Manager的服务器还运行Selenium测试。 在真实的测试环境中,您应该从其他测试工作站到Rational Quality Manager服务器运行Selenium测试。
配置Selenium测试
如果您已经安装了Selenium IDE,Selenium WebDriver和JUnit并使用JUnit WebDriver测试示例,则可以跳到名为生成Selenium测试库以执行的部分 。
如果您对Selenium感兴趣但从未使用过,那么接下来的六节将向您展示如何安装Selenium并创建一个简单的测试,该测试可以在本教程的后面的Rational Quality Manager中运行。 这不是有关如何创建复杂的Selenium测试的教程。 它仅说明如何创建足以证明与Rational Quality Manager的连接的测试。 鉴于Selenium是一个开放源代码工具,有大量资源可用于学习如何充分利用它。
下载并安装Selenium
- 从SeleniumHQ网站下载Selenium IDE和Selenium WebDriver(请参阅参考资料 )。 Selenium IDE是Mozilla Firefox插件,将在浏览器中运行。
重要:
确保下载的Selenium客户端驱动程序适用于Java ,而不适用于其他任何可用语言。
图1.选择Java驱动程序
- 下载.zip文件后,将其解压缩到其他位置。
- 从junit.org下载JUnit(请参阅参考资料 )。 第4版基本Java存档(JAR)文件足以满足本教程的要求。
- 将此文件保存在提取Selenium-2文件的位置。
必须在将要执行测试的任何测试计算机上重复安装Selenium,JUnit和适配器的步骤。
配置Eclipse
Eclipse的步骤需要由负责创作或修改任何Selenium测试的任何人执行。
要查看测试源代码,进行任何更改或出于调试目的运行测试,则需要将该测试添加到Java IDE中。 在本教程中,您将使用Eclipse。 如果您将IBM®Rational Team Concert™安装为Rational Collaborative Lifecycle Management(CLM)解决方案的一部分,那么这些步骤可以在该IDE中执行,因为它基于Eclipse。 使用此安装而不是标准的Eclipse安装将为您提供在源代码控制下存储测试的附加好处。 您还可以使用它将任务分配给开发人员或测试人员以创建或增强测试。 其他Java IDE也可以使用,但是它们的配置步骤略有不同。
- 单击窗口>打开透视图> Java切换到Java透视图。
- 创建一个新的Java项目。 首先,选择= File> New> Java Project 。
- 为项目指定一个有意义的名称(在本例中为
SeleniumProject
),手动指定项目文件的存储位置,然后单击Finish 。
图2.指定此示例项目的名称和位置
- 在左侧的Package Explorer中,右键单击该项目,然后创建一个名为
libs
的新文件夹。 - 将junit-4.jar文件和Selenium-2文件夹复制到刚创建的libs文件夹中。
图3.这是Package Explorer视图的外观
- 接下来,需要将JAR添加到项目类路径中,以便可以在测试中使用它们。 右键单击项目(在本例中为SeleniumProject ),然后选择Build Path> Configure Project Build Path 。
- 选择“ 库”选项卡,然后选择“ 添加外部JAR” 。 选择junit-4.jar文件。
- 在Selenium-2文件夹中,添加两个Selenium JAR文件以及位于libs文件夹中的所有JAR文件。 单击确定以确认添加。
- 现在创建一个包层次结构以包含测试。 (这样做的好处将在标题为“ 在Rational Quality Manager中创建Selenium测试 ”的部分中详细介绍。)右键单击Package Explorer中的SeleniumProject ,然后创建一个名为
com.example.tests
的新软件包。
创建样本Selenium测试
现在,您将创建一个简单的自动化测试,以导入到您刚刚创建的项目中。 您将使用Selenium IDE记录测试,在此期间测试将在Google上进行搜索。
- 要打开Selenium IDE窗口,请在Firefox中,单击Firefox图标,然后单击Web Developer> Selenium IDE 。 或者,您可以使用键盘快捷键Ctrl + Alt + S打开它。 将打开一个单独的Selenium IDE窗口。
- 在此窗口中,将基本URL设置为www.google.com,并确保选中红色的“ 记录”按钮。
- 导航到原始Firefox窗口中的基本URL。 加载Google页面后,输入搜索词(例如
Rational Jazz
,然后单击“搜索”按钮。 - 单击第一个结果。
- 返回Selenium IDE窗口,然后再次单击红色的“ 记录”按钮来停止记录。
现在,您的Selenium IDE窗口应该包含与图4相似的命令。
图4.您的测试记录应该像什么
- 您可以通过单击“基本URL”字段下方的“ 播放”按钮来验证录制是否正常。 要详细查看测试回放,可以使用左侧的滑块来降低回放速度。
以正确的格式导出Selenium测试
Selenium IDE设计用于快速创建回归测试套件。 如刚才所示,可以在工具中创建和播放它们。 要从Rational Quality Manager回放测试,该脚本需要用Java编写。 Selenium IDE方便地具有导出功能,可以将记录的测试导出为正确的Java格式。
- 在Selenium IDE中,选择“ 文件”>“将测试用例导出为”>“ Java / JUnit4 / WebDriver” ,这是受支持的Selenium测试类型。
- 为测试指定一个有意义的名称,例如
ExampleSelTest
,并将其另存为您先前创建的SeleniumProject内SeleniumProject / src / com / example / test文件夹中的java文件。
图5.如何导出Selenium测试
查看在Eclipse中创建的测试
在Eclipse中,通过刷新Package Explorer,可以看到刚刚添加到项目中的Selenium Java测试文件。
- 要刷新,请在Eclipse菜单上单击File> Refresh或按F5 。
- 检查com / example / tests包,以查看新测试现在可见,然后双击将其打开。
图6.新项目的外观
要检查测试是否可以正确运行,可以在Eclipse中运行它,方法是选择ExampleSelTest Java文件并单击工具栏上的Run As ,然后从下拉菜单中选择JUnit Tests 。 您也可以通过右键单击实际测试,然后单击Run As> JUnit Tests来执行此操作 。
然后,您应该看到测试回放,并且将重复在Firefox中记录的相同步骤。
生成要运行的Selenium测试库
现在可以将Selenium测试作为独立的JUnit测试在Eclipse中运行。 要从Rational Quality Manager运行它,需要将其导出为JAR文件。 导出将创建任何Selenium测试的可移植和可执行版本。 您可以在JAR文件中创建测试库,然后将该文件移至多台测试计算机,以便它们可以在其中运行。
- 要导出样本测试,请右键单击SeleniumProject ,然后单击“ 导出” 。
- 展开Java节点,选择JAR File选项,然后单击Next 。
- 在下一个窗体上,默认选项会很好,但是您需要指定导出目的地 (请参见图7)。
图7.样本导出表单
- 单击完成以导出测试。
配置并运行适配器
现在您已经创建了一个包含多个Selenium测试的库,并且可以使用了,您必须设置Rational Quality Manager端。 第一个任务是配置用于运行测试的适配器。
配置适配器
该适配器包含在任何Rational Quality Manager安装中,并且可以将其复制到任何计算机上,以允许Selenium测试在不同的测试计算机上运行。 这是适配器的位置:
JAZZ_INSTALL_DIRECTORY /server/conf/qm/adapters/RQMJUnitSeleniumAdapter.zip
JAZZ_INSTALL_DIRECTORY是Rational Quality Manager服务器上安装Rational Quality Manager的目录。
- 将此文件复制到所选的测试计算机上,或者如果在本地执行测试,则将其保留在同一服务器上。 (此示例将使用同一服务器)。
- 解压缩文件。
在提取的适配器文件夹中,readme.txt文件包含有关如何配置适配器的详细信息。 本文是简单启动的指南。 本示例用于在Microsoft Windows上启动适配器,但是可以为Linux系统修改步骤。 修改显示在自述文件中。
首次启动适配器时,需要从命令行启动带有参数的适配器。 为了运行测试,需要列出运行时可能需要的所有不同JAR文件的绝对路径。 Selenium-2 / libs文件夹中有很多JAR文件,因此可以节省使用命令将全部文件路径添加到文本文件中的时间,而无需手动执行。
- 在执行Selenium测试的测试计算机上,打开命令窗口(“ 开始”>“运行”>“ cmd” ),使用
cd
命令导航到Selenium-2.xx / libs文件夹,然后输入:dir /S /B > jars.txt
这将在libs目录中创建一个名为jars.txt的文本文件,该文件在单独的行中包含JAR文件的文件名和路径。
- 在每行末尾添加分号(;)。
完整的示例行应如下所示:
C:\ Users \ Rational \ Documents \ Selenium \ SeleniumProject \ lib \ Selenium-2.25.0 \ libs \ apache-mime4j-0.6.jar;
- 然后确保在Selenium-2目录以及junit jar和Selenium tests jar中添加这两个JAR :
- Selenium-java-2.xxjar
- Selenium-java-2.xx-srcs.jar
- junit-4.x.jar
- SelTest.jar(从Eclipse导出)
- 压缩列表,以便所有文件路径仅位于一行上。
- 打开存储在RQMJUnitSeleniumAdapter文件夹中的文件selenium.properties。
- 粘贴com.ibm.rqm.selenium.seleniumClasspath =属性旁边的jars.txt文件的文件路径列表,然后从该行中删除#。
这告诉适配器在哪里可以找到执行测试时将使用的代码。
注意:
需要为每台运行适配器的测试计算机修改selenium.properties文件。
注意:
如果要在远程Windows工作站上使用适配器来运行测试,请执行以下操作: (\)将需要在文件路径中更改为(/)。 可以使用文本编辑器中的“查找和替换”完成此操作。 正斜杠用于到达网络位置,而反斜杠适用于本地计算机。
运行适配器
- 打开一个新的命令行,然后再次使用
cd
命令导航到提取适配器的目录。 - 输入此命令(用您自己的信息替换斜体):
start.bat -repository https://rqmserver:port/qm -userid userid –password password –
adapter adapter -projectArea projectArea -adapterName adaptername
哪里:
rqmserver是Rational Quality Manager服务器的标准主机名。
port是Rational Quality Manager服务器运行的端口。
userid是Rational Quality Manager中的注册用户ID,具有运行适配器的许可。
password是用于登录的用户标识的密码。
adapter是用户提供的适配器标识符。 该值必须是唯一的,因为Rational Quality Manager服务器使用它来标识此适配器。
项目区域是您要登录的项目的名称或别名。 如果项目名称中有空格,请将单词放在引号中。
适配器名称是用户提供的适配器名称。
此示例命令使用示例JKEBanking项目区域:
start.bat -repository https://clm.jkebanking.com:9443/qm -user adapter -password
adapter -adapter RQMSelAdapter -projectArea "JKE Banking (Quality Management)"
该适配器使用专门为连接适配器而创建的用户帐户。 该用户,适配器具有与用户名相同的密码,并且在Rational Quality Manager中被分配了连接器客户端访问许可。 这是为了避免在进行远程测试时要为连续连接的适配器工作站浪费Quality Professional许可证。
小费:
如果适配器无法启动,请确保已将Java添加到path变量。 有关配置适配器或进行故障排除的其他信息,请参阅自述文件。
在Rational Quality Manager中创建Selenium测试
最后的步骤是在Rational Quality Manager中创建测试资产,该资产将指向JAR文件中的特定Selenium测试,并通过您刚刚配置和启动的适配器运行它。 测试资产必须由具有Quality Professional License的用户创建。
创建一个测试脚本
要从Rational Quality Manager运行Selenium测试,您需要在Rational Quality Manager中创建一个相应的测试脚本。
- 要创建测试脚本,请选择“ 构造”选项卡,然后从下拉菜单中选择“ 创建”>“测试脚本” 。
图8.创建一个测试脚本
- 为测试脚本命名,然后使用下拉菜单将类型更改为JUnit Selenium 。
图9.创建一个JUnit Selenium类型的测试脚本
可使用三个字段来添加测试运行的选项:
- 第一个是Test Class,指定此脚本将运行哪个Selenium测试。 运行脚本需要它。
- 第二个类路径是Classpath,它指定selenium.properties文件中未指定的,将由Selenium测试使用的所有JAR文件。
- 最后一个是Java系统属性,可以在其中将任何Java系统参数传递到Java虚拟机(JVM)。
使用一个有意义的名称创建了Selenium测试示例,并将其组织到一个包中。 这意味着可以从包含其他Selenium测试库的JAR文件中选择测试脚本来运行特定的Selenium测试。 在此示例中,JAR文件中仅存在一个Selenium测试,因此看起来微不足道,但是将多个测试组织到不同的软件包中可以快速,轻松地在Rational Quality Manager中创建测试脚本并运行它们。
图10.将一个Selenium测试库用于多个脚本
- 将测试类指定为
com.example.tests.ExampleSelTest
。
图11. JUnit Selenium脚本详细信息示例
如图10所示,通过在不同脚本中更改测试类属性,可以从同一JAR文件运行不同的测试。
- 保存测试脚本以完成操作。
运行自动化测试
运行测试脚本。 它需要放在一个测试用例中并从那里开始。 从菜单(“ 构建”>“创建”>“测试用例” )中创建一个新的测试用例,或者将测试脚本添加到Rational Quality Manager项目中的现有测试用例中。
图12.创建一个新的测试用例
要将测试脚本添加到新的测试用例或现有的测试用例中:
- 打开测试用例,然后导航到测试用例摘要左侧的“测试脚本”部分。
图13.测试脚本部分的位置
- 使用绿色加号的Add Test Script图标可以显示Rational Quality Manager项目中所有测试脚本的列表。
- 在列表中找到正确的测试脚本,选中复选框以将其选中,然后单击“ 确定” 。
- 保存测试用例。
- 您可以通过选择“运行测试脚本”>“运行”来运行它。
- 下一个窗口要求您指定测试用例的运行细节。
- 确保Selenium测试脚本是正在运行的脚本。
- 另外,请确保早先启动的适配器正在运行,如绿色圆圈所示(请参见图14)。
图14.运行测试用例参数
- 单击确定运行测试。
查看结果
测试完成后,将显示“显示结果”按钮。 单击该按钮,Rational Quality Manager将显示测试运行的详细日志。 将显示测试的通过或失败判定,以及其他信息,例如测试运行时间。 该示例测试示例仅包含一个步骤,但是更复杂的Selenium测试将显示逐步指南,该指南说明了验证已通过和失败。
翻译自: https://www.ibm.com/developerworks/rational/library/run-automated-selenium-junit-tests/index.html