它能够管理并运行由其他工具创建的">自动化测试脚本。本文将介绍如何通过 JUnit Selenium Adapter 将 Selenium 与 RQM 集成起来,更好的通过 RQM 来执行和管理 Selenium 测试脚本。
一、RQM 及其如何管理自动化测试脚本的简介
IBM Rational Quality Manager(RQM)是一款基于 Web 的出色的质量管理软件,用于贯穿软件生命周期的综合测试规划和测试资源管理。它提供了多种适配器与其他工具集成,使 RQM 能够管理并运行由其他工具创建的自动化测试脚本。
Selenium 是一款基于 Web 应用的开源测试工具,它能够支持多种浏览器和多种编程语言,同时它提供了快速、轻量级的浏览器模拟器,为用户提供了最优秀框架的最佳途径。它的诸多优势,令 Selenium 成为当下非常流行的 Web 应用程序的自动化测试工具。
RQM4.0 版本中,提供了 JUnit Selenium Adapter 来实施与 Selenium 的集成,使 RQM 可以运行 Selenium 2.0 WebDriver JUnit4 的测试件。
当 JUnit Selenium Adapter 运行时,该 Adapter 会对 RQM 服务器进行轮询,以获取运行 Selenium 测试的请求。请求中包括要运行的 Java 类(例如,JUnit 测试套件或测试用例)、必需的任何其他类路径值以及要为用于运行测试的 Java 虚拟机 (JVM) 设置的任何 Java 系统属性(可选)。运行测试后,Adapter 会将执行结果以及关联的附件上传到服务器。
二、如何配置 JUnit Selenium Adapter
在配置和使用 JUnit Selenium Adapter 之前,用于运行 JUnit Selenium Adapter 的计算机上必须有 Java 运行时环境 (JRE) 。
在运行 JUnit Selenium Adapter 的计算机上,需要下载最新版本的 Selenium 客户机 Java 驱动程序,并解压到某个本地目录中。 当安装 RQM 时,运行此 Adapter 所需要的组件即被放置在 RQM 安装目录中的归档文件中 (QM_install_dir/JazzTeamServer/server/conf/qm/adapters/RQMJUnitSeleniumAdapter.zip)。将此文件复制到运行 JUnit Selenium Adapter 的机器,并将此文件解压缩到本地目录。 进入步骤 2 解压的文件目录,打开 <...>/RQM-Extras-JUnitSeleniumAdapter/selenium.properties 文件,将从 Selenium 客户机驱动程序下载的所有 .jar 文件添加到 com.ibm.rqm.selenium.seleniumClasspath 属性的值中。路径条目至少要包含运行 Selenium V2.0 WebDriver JUnit4 测试套件或测试用例所必需的类。使用者还可以指定其他共享库的类的路径条目来引用。例如,如果您使用的是 Selenium V 2.21.0 和 JUnit4.10,
那么 com.ibm.rqm.selenium.seleniumClasspath 属性类似于以下示例:com.ibm.rqm.selenium.seleniumClasspath=D:/libs/selenium-2.21.0/selenium-java-2.21.0.jar; D:/libs/selenium-2.21.0/selenium-server-standalone-2.21.0.jar; D:/libs/selenium-2.21.0/libs/apache-mime4j-0.6.jar; D:/libs/selenium-2.21.0/libs/bsh-1.3.0.jar; D:/libs/selenium-2.21.0/libs/cglib-nodep-2.1_3.jar; D:/libs/selenium-2.21.0/libs/commons-codec-1.6.jar; D:/libs/selenium-2.21.0/libs/commons-collections-3.2.1.jar; D:/libs/selenium-2.21.0/libs/commons-exec-1.1.jar; D:/libs/selenium-2.21.0/libs/commons-io-2.0.1.jar; D:/libs/selenium-2.21.0/libs/commons-jxpath-1.3.jar; D:/libs/selenium-2.21.0/libs/commons-lang-2.6.jar; D:/libs/selenium-2.21.0/libs/commons-logging-1.1.1.jar; D:/libs/selenium-2.21.0/libs/cssparser-0.9.5.jar; D:/libs/selenium-2.21.0/libs/guava-11.0.1.jar; D:/libs/selenium-2.21.0/libs/hamcrest-core-1.1.jar; D:/libs/selenium-2.21.0/libs/hamcrest-library-1.1.jar; D:/libs/selenium-2.21.0/libs/htmlunit-2.9.jar; D:/libs/selenium-2.21.0/libs/htmlunit-core-js-2.9.jar; D:/libs/selenium-2.21.0/libs/httpclient-4.1.3.jar; D:/libs/selenium-2.21.0/libs/httpcore-4.1.3.jar; D:/libs/selenium-2.21.0/libs/httpmime-4.1.3.jar; D:/libs/selenium-2.21.0/libs/ini4j-
0.5.2.jar; D:/libs/selenium-2.21.0/libs/jcommander-1.13.jar; D:/libs/selenium-2.21.0/libs/jna-3.4.0.jar; D:/libs/selenium-2.21.0/libs/jna-platform-3.4.0.jar; D:/libs/selenium-2.21.0/libs/json-20080701.jar; D:/libs/selenium-2.21.0/libs/junit-dep-4.10.jar; D:/libs/selenium-2.21.0/libs/nekohtml-1.9.15.jar; D:/libs/selenium-2.21.0/libs/operadriver-v0.11.jar; D:/libs/selenium-2.21.0/libs/protobuf-java-2.4.1.jar; D:/libs/selenium-2.21.0/libs/sac-1.3.jar; D:/libs/selenium-2.21.0/libs/
serializer-2.7.1.jar; D:/libs/selenium-2.21.0/libs/testng-6.0.1-nobsh-noguice.jar; D:/libs/selenium-2.21.0/libs/webbit-0.4.6-full.jar; D:/libs/selenium-2.21.0/libs/xalan-2.7.1.jar; D:/libs/selenium-2.21.0/libs/xercesImpl-2.9.1.jar; D:/libs/selenium-2.21.0/libs/xml-apis-1.3.04.jar; D:/libs/junit4.10/junit-4.10.jar;