我有一个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,仍然遇到了我的问题。 有什么想法吗?
答案 0 :(得分:1)
从引用的路径看,您的Selenium服务器看起来像是在Windows环境中。
由于Selenium与桌面交互,因此请确保运行Jenkins服务的用户帐户具有相应的权限。 (即,将其作为命名帐户运行,并通过计算机管理/服务授予该帐户对桌面的访问权限。)
这可以解释为什么你会看到从命令行(作为你的用户帐户)运行的不同行为与Jenkins(作为Jenkins服务用户帐户)相比。
答案 1 :(得分:0)
您可以尝试使用js-code来修复此错误。 JS-重定向。为:
storeEval window.location =“http://yourWebsiteToOpen.com”; JS echo $ {js}
至少它对我们有帮助。