jenkins是流行的集成测试工具,在上面建立编译,发布,运行单体测试的任务都非常方便。
selenium是优秀的Web画面的自动化结合测试工具,它的测试代码有两种形式。
一种是用java,C#等高级语言编写的,特点是功能强大。
另一种是用HTML写的,特点是使用方便。
下面以HTML形式的test suite为例,说明如何在jenkins中配置selenium测试。
先下载插件,在jenkins的plugin管理画面中,选择安装Hudson Seleniumhq plugin。
安装完后重启jenkins。
然后下载selenium-server。其实就是一个jar文件。例如,selenium-server-standalone-2.21.0.jar
用这个jar文件,就可以实现命令行运行selenium测试。
命令行格式如下,
java -jar D:/workspace/testproject/selenium/selenium-server-standalone-2.21.0.jar -htmlSuite “*iexplore” “http://localhost:8081” “D:/workspace/testproject/selenium/alltests.html” “D:/workspace/testproject/selenium/results.html” -port 4445
先用命令行测试一下,看看能否生成测试结果(上例中,results.html)
准备工作就绪,接下来把它配置到Jenkins的具体的Job中。
新建或利用既存的Job,在Job设定中,追加build步骤,选择命令行,把上例中的命令行拷贝进去。
最后要让jenkins能够发布结果。在job的build后处理中,选择Publish Selenium Report,指定测试结果的路径。(注,路径是workspace的相对路径,上例中,假设workspace的目录是D:/workspace/,则测试结果的目录是testproject/selenium/results.html。至于workspace的目录在哪里,参考jekins系统设定)
运行一下job,运行完后,进入该job的页面,可以看到左侧菜单里有Selenium Report,点进去可以看到测试结果。
如果有错,可以看控制台输出的信息,根据具体情况解决具体问题。
到这里可以算结束了。
可能很多人觉得通过命令行跑selenium不爽,再介绍通过配置来完成。
在Job的设定中,追加build命令,不选命令行,选择SeleniumHQ htmlSuite Run,会有五个参数要输入,分别是browser,startURL,suiteFile,resultFile,other,和命令行的参数是对应的。最后一项other中,可以填-port 4445。保存,运行Job,不出意外的话,会出错。这是因为还有个地方没有设定。
在jekins的system设定中,可以看到有Selenium Remote Control这项,需要指定selenum-server这个jar的位置。在htmlSuite Runner这个参数中指定一下就可以了。
保存,再运行一下Job就可以了,结果和上面的命令行方式一样。