Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有GUI的linux机器上通过jenkins执行Selenium测试(仅限CLI)-无头模式_Linux_Selenium_Jenkins_Selenium Webdriver_Headless - Fatal编程技术网

在没有GUI的linux机器上通过jenkins执行Selenium测试(仅限CLI)-无头模式

在没有GUI的linux机器上通过jenkins执行Selenium测试(仅限CLI)-无头模式,linux,selenium,jenkins,selenium-webdriver,headless,Linux,Selenium,Jenkins,Selenium Webdriver,Headless,这是关于Selenium自动化测试的。我有一些测试执行的Jenkins作业设置。Jenkins是在没有GUI(仅CLI)的Ubuntu机器上设置的。 因此,当我运行脚本时,它似乎显然找不到web浏览器 此作业在windows中运行良好。在Windows中,我得到这样的结果 窗口成功结果 ------------------------------------------------------- T E S T S ---------------------------------------

这是关于Selenium自动化测试的。我有一些测试执行的Jenkins作业设置。Jenkins是在没有GUI(仅CLI)的Ubuntu机器上设置的。 因此,当我运行脚本时,它似乎显然找不到web浏览器 此作业在windows中运行良好。在Windows中,我得到这样的结果

窗口成功结果

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
06/08/2015 00:04:47,996   INFO [main] (BasicTestObject.java:251) - ======BEGIN Test workflow============
06/08/2015 00:04:48,002   INFO [main] (BasicTestObject.java:252) - BEGIN Test: MlpBvt
06/08/2015 00:04:48,002   INFO [main] (BasicTestObject.java:253) - ======BEGIN Test workflow============

06/08/2015 00:04:58,862  DEBUG [main] (DefaultUIDriver.java:300) - Opened url: http://mlpdemo.qaprod.ecollege.com/
06/08/2015 00:04:58,912   INFO [main] (BasicTestObject.java:296) - -------------BEGIN Test Method-------------------
06/08/2015 00:04:58,913   INFO [main] (BasicTestObject.java:297) - BEGIN Test Method: verifyAdminLogin
06/08/2015 00:04:58,913   INFO [main] (BasicTestObject.java:298) - -------------BEGIN Test Method-------------------
06/08/2015 00:04:58,969  DEBUG [main] (DefaultUIElement.java:980) - Waiting 60000ms for element to be displayed [Locator = {By.xpath: //input[@id='clientname']}]
06/08/2015 00:04:59,058  DEBUG [main] (DefaultUIElement.java:538) - Element is displayed [Locator = {By.xpath: //input[@id='clientname']}]
06/08/2015 00:04:59,059  DEBUG [main] (DefaultUIElement.java:992) - After 89ms, element is displayed [Locator = {By.xpath: //input[@id='clientname']}]
在Linux上,我会这样

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite

06/08/2015 00:18:46,834   INFO [main] (BasicTestObject.java:251) - ======BEGIN Test workflow============
06/08/2015 00:18:46,839   INFO [main] (BasicTestObject.java:252) - BEGIN Test: MlpBvt
06/08/2015 00:18:46,839   INFO [main] (BasicTestObject.java:253) - ======BEGIN Test workflow============
06/08/2015 00:18:46,998  DEBUG [main] (CapturePageOnFailureListener.java:186) - CapturePageOnFailure found 2 parameters 
06/08/2015 00:18:47,002   WARN [main] (DebugUIDriver.java:311) - Called quit() on debugDriver containing null uiDriver
06/08/2015 00:18:47,025   INFO [main] (BasicTestObject.java:304) - -------------END Test Method-------------------
06/08/2015 00:18:47,026   INFO [main] (BasicTestObject.java:305) - END Test Method: verifyAdminLogin
06/08/2015 00:18:47,026   INFO [main] (BasicTestObject.java:306) - -------------END Test Method-------------------
06/08/2015 00:18:47,031   INFO [main] (BasicTestObject.java:304) - -------------END Test Method-------------------
06/08/2015 00:18:47,032   INFO [main] (BasicTestObject.java:305) - END Test Method: VerifyProfessorLogin
06/08/2015 00:18:47,032   INFO [main] (BasicTestObject.java:306) - -------------END Test Method-------------------
06/08/2015 00:18:47,036   INFO [main] (BasicTestObject.java:304) - -------------END Test Method-------------------
06/08/2015 00:18:47,036   INFO [main] (BasicTestObject.java:305) - END Test Method: VerifyStudentLogin
06/08/2015 00:18:47,037   INFO [main] (BasicTestObject.java:306) - -------------END Test Method-------------------
06/08/2015 00:18:47,038   INFO [main] (BasicTestObject.java:283) - ======END Test workflow============
06/08/2015 00:18:47,038   INFO [main] (BasicTestObject.java:284) - END Test: MlpBvt
06/08/2015 00:18:47,040   INFO [main] (BasicTestObject.java:285) - ======END Test workflow============
06/08/2015 00:18:47,100  DEBUG [main] (ProcessTool.java:36) - Getting current tool for LINUX
06/08/2015 00:18:47,100   WARN [main] (ProcessTool.java:40) - Could not find ProcessTool for LINUX
06/08/2015 00:18:47,101   WARN [main] (ProcessTool.java:88) - There was no ProcessTool for LINUX
06/08/2015 00:18:47,101  DEBUG [main] (ProcessTool.java:115) - process count for There was no ProcessTool for LINUX:1
Tests run: 12, Failures: 1, Errors: 0, Skipped: 11, Time elapsed: 1.976 sec <<< FAILURE!

Results :

Failed tests: 

请提供一些关于这件事的技术细节。我可以在linux中运行此作业吗?请帮助我

对于unix系统,您必须使用它以无头模式运行测试,对于jenkins,您可以使用

如何在headless模式下打开firefox的简单示例


谢谢你的回复,但还是有同样的错误。。你有没有在无头模式下运行脚本。不,你没有,首先你可以使用插件,它会为你做所有的事情
06/08/2015 00:18:47,002   WARN [main] (DebugUIDriver.java:311) - Called quit() on debugDriver containing null uiDriver
from xvfbwrapper import Xvfb
from selenium import webdriver

xf = Xvfb()  #  xf = Xvfb(1920, 1080) - will create virtual display with 1920x1080 size
xf.start()
# browser won't appear
driver = webdriver.Firefox()
driver.get("http://google.com")