Selenium和Jenkins,测试套件在命令行中工作而不是在jenkins上

时间:2015-04-08 12:02:30

标签: selenium jenkins

我有一个Selenium独立服务器,我在命令行运行一个带有简单测试用例的简单测试套件,它可以工作,这是命令行:

  

java -jar D:\ POC \ selenium-server-standalone-2.45.0.jar -Dhttp.proxyHost = XXXX -Dhttp.proxyPort = 8080 -Dhttp.proxyUser = XXXX -Dhttp.proxyPassword = XXXX -htmlSuite * firefox http://XXXXX D:\ Users \ XXXX \ Desktop \ test_selenium.html D:\ Users \ XXXX \ Desktop \ result_selenium.html -firefoxProfileTemplate“C:\ Users \ XXXXX \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ 1yd4vpna .selenium“-debug

jenkins使用相同的命令来运行测试,这里是selenium结果文件:

  

info:开始测试/selenium-server/tests/test_case_selenium.html   信息:执行:|打开| /index.php/fr/ | |   警告:currentTest.recordFailure:30000ms后超时   info:执行:| clickAndWait | css = li.item-175.first> a.subMenuBtn> span | |   错误:元素css = li.item-175.first> a.subMenuBtn>找不到范围   警告:currentTest.recordFailure:元素css = li.item-175.first> a.subMenuBtn>未找到范围

当我读取命令行日志时,Jenkins和命令行与firefox启动不同。在命令行上,我可以看到一个firefox弹出,而不是jenkins。

如果没有-debug,jenkins将停止“检查资源别名”。

我作为管理员为jenkins启动了tomcat,仍然遇到了我的问题。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

从引用的路径看,您的Selenium服务器看起来像是在Windows环境中。

由于Selenium与桌面交互,因此请确保运行Jenkins服务的用户帐户具有相应的权限。 (即,将其作为命名帐户运行,并通过计算机管理/服务授予该帐户对桌面的访问权限。)

这可以解释为什么你会看到从命令行(作为你的用户帐户)运行的不同行为与Jenkins(作为Jenkins服务用户帐户)相比。

答案 1 :(得分:0)

您可以尝试使用js-code来修复此错误。 JS-重定向。为:

storeEval window.location =“http://yourWebsiteToOpen.com”; JS echo $ {js}

至少它对我们有帮助。