如何在Selenium 3中运行或迁移html测试套件?

时间:2016-08-24 15:41:58

标签: java bash unit-testing selenium

Firefox最近已经更新,现在版本为48.0,导致我的-htmlSuite测试失败。我从Firefox收到此错误消息:

Firefox can’t find the file at chrome://src/content/TestRunner.html

我目前正在使用Selenium Server版本2.53.1来运行我的测试,这些测试记录在Firefox Selenium IDE插件中,然后在我的OS X开发服务器上自动执行。

这些测试的目的是提供在脚本无法导航到网站购买工作流程结束时需要审核的任何网站的每日概要。这是我写的一个bash脚本,用于启动我的功能测试:

#!/bin/bash
java -jar selenium-server-standalone-2.53.1.jar
     -htmlSuite "*firefox" "http://www.insureone.com"
                "/SeleniumTests/InsureOne-Suite.html" 
                "/SeleniumTests/InsureOne-Results.html" > /dev/null

java -jar selenium-server-standalone-2.53.1.jar
      -htmlSuite "*firefox" "http://www.aaffordableauto.com"            
       "/SeleniumTests/A-Affordable-Suite.html" 
       "/SeleniumTests/A-Affordable-Results.html" > /dev/null

echo "Finished"

以下是InsureOne Suite唯一测试的片段,该测试导航前两页:

InsureOne-Test
setTimeout  60000   
open    /   
sendKeys    id=zipcode  60610
sendKeys    id=phone    3126548045
select  id=year label=2006
waitForElementPresent   //option[contains(.,'PONTIAC')] 
select  id=make label=PONTIAC
waitForElementPresent   //option[contains(.,'G6')]  
select  id=model    label=G6
clickAndWait    //button[contains(.,'Free Quote')]  
setTimeout  120000  
waitForElementPresent   id=getquote 
setTimeout  60000   
clickAndWait    id=getquote 

这些测试是使用Automator运行的,然后每天早上通过电子邮件将结果发送给我进行审核。

我最初尝试使用最新版本的Selenium来启动我的测试,但无法实现这一点。我无法在Selenium文档中找到任何内容来帮助我使用最新版本的Selenium来运行html测试套件。

我不希望在Jenkins + Maven中运行的自动构建和正式单元测试的复杂性增加,或者在另一种语言中运行。有没有办法从shell脚本中在Selenium 3中执行此操作?

java -jar selenium-server-standalone-3.0.0-beta2.jar  
      -htmlSuite "*firefox" "http://www.aaffordableauto.com"            
       "/SeleniumTests/A-Affordable-Suite.html" 
       "/SeleniumTests/A-Affordable-Results.html" > /dev/null

此命令导致NullPointerException。我被困了,因为SeleniumHQ没有关于如何使其工作或将其迁移到最新版本的建议。

1 个答案:

答案 0 :(得分:1)

我还有另一种解决方法,切换到ChromeDriver让我可以再次使用selenium-server-standalone-2.53.1进行测试。我必须修改我的bash脚本以忽略由Selenium的代理证书引起的ssl错误。

#!/bin/bash
java -jar selenium-server-standalone-2.53.1.jar 
     -trustAllSSLCertificates 
     -htmlSuite "*googlechrome" "http://www.aaffordableauto.com"
                "/SeleniumTests/A-Affordable-Suite.html" 
                "/SeleniumTests/A-Affordable-Results.html" > /dev/null

java -jar selenium-server-standalone-2.53.1.jar
     -trustAllSSLCertificates
     -htmlSuite "*googlechrome" "http://www.insureone.com"
                "/SeleniumTests/InsureOne-Suite.html"
                "/SeleniumTests/InsureOne-Results.html" > /dev/null

echo "Finished"