7.3 Jenkins 和 Selenium 的协作
使用 Selenium 进行测试,测试用例的制作会大大加快。但是随着测试用例的增加,把握测试是否被正确执行、测试是否通过,也将变得非常麻烦。
对于这样的问题,第 5 章中所介绍的 Jenkins 这样的 CI 工具就非常有用。CI 工具可以实现测试的实施以及结果的品质状况可视化,并帮助团队间共享信息。
7.3.1 关联 Jenkins 和 Selenium 的步骤
下面将介绍由 Jenkins 执行 Selenium 测试用例的方法。
用 Selenium IDE 制作 Selenium 的测试用例并保存为 HTML 格式的话,通过使用 Jenkins 的“Seleniumhq Plugin”,从 Jenkins 执行 HTML 测试用例时的任务设置、测试结果报告的设置都将变得非常简单。
我们一起来看一下使用“Seleniumhq Plugin”的配置方法、测试执行以及测试结果的确 认。这里以在运行有 Jenkins 的机器上执行 Selenium 测试为前提进行讲解。
❶ 在执行测试的机器上,从版本管理系统下载测试套件和测试用例 23
23 请参考 5.4 节中“下载代码”部分的内容。
❷ 在执行测试的机器上下载 Selenium Server 24
24 Selenium Server 的下载用 Chef 来实现,请参考第 6 章。
❸ 从 Jenkins 的“系统管理”→“管理插件”安装“Seleniumhq Plugin” 25
25 https://wiki.jenkins-ci.org/display/JENKINS/Seleniumhq+Plugin
❹ 在 Jenkins 的“系统管理”→“系统设置”中设置“Selenium Remote Control”下的“htmlSuite Runner”(图 7.10)
图 7.10 Selenium Server 的设置画面
设置为步骤 ❷ 中下载的 Selenium Server 的路径
❺ 新建测试用的 Jenkins 任务,任务的“配置”如下
❺-1 在“构建”下的“增加构建步骤”中选择“SeleniumHQ htmlSuite Run”,按照表 7.1 进行设置(图 7.11)
表 7.1 SeleniumHQ htmlSuite Run 的设置
项目 | 说明 |
|---|---|
browser | 设置执行测试的浏览器(Firefox的话是*firefox) |
startURL | 浏览器启动时打开的URL |
suiteFile | 设置步骤❶中准备的测试套件 |
resultFile | 设置测试结果的输出文件名(ex.results.html) |
图 7.11 Selenium 测试任务的配置画面
❺-2 选择“构建后操作”下“增加构建后操作步骤”中的“Publish Selenium Report”,按照表 7.2 进行设置(图 7.12)
表 7.2 构建后的处理
项目 | 说明 |
|---|---|
Test report HTMLs | 指定报告的保存格式(ex.*.html) |
图 7.12 Selenium 测试结果的设定画面
❺-3 选择“构建后操作”下“增加构建后操作步骤”中的“Archive the artifacts”,按照表 7.3 进行设置(图 7.13)
表 7.3 构建后的处理
项目 | 说明 |
|---|---|
用于存盘的文件 | 指定保存文件的格式(ex.*.html) |
图 7.13 Selenium 测试结果的保存画面
配置完成后,试着执行 Jenkins 的任务下的“立即构建”。配置正确的话会启动 Firefox 并开始测试,Selenium 测试最后会输出测试结果报告(图 7.14)。
图 7.14 Selenium 测试执行过程中的画面
当然也可以通过 Jenkins 确认测试的结果,试着从 Jenkins 任务画面左侧的 Build History 打开本次执行的链接。构建 #8 前面的○的颜色是蓝色的话表示构建成功,若是红色则表示构建失败(图 7.15)。
图 7.15 Jenkins 的构建结果画面
可以从“构建结果”来确认 Selenium 的执行结果(图 7.16)。测试失败时可以从这个 Selenium 的执行结果或“Console Output”查看失败的原因。
图 7.16 Jenkins 的 Selenium 测试结果画面
