[英]Selenium test execution via jenkins on linux machine without GUI (CLI-only) - HEADLESS MODE
This is regarding Selenium Automation Testing. 这与Selenium自动化测试有关。 I have a Jenkins job setup for some test executions.Jenkins is setup on a Ubuntu machine without GUI (CLI Only).
我有一些测试执行的Jenkins作业设置.Jenkins是在没有GUI的Ubuntu机器上设置的(仅CLI)。 So when I run the scripts seems like it can't find the web browser obviously .
因此,当我运行脚本时,似乎显然找不到Web浏览器 。
This job is working perfectly fine in windows . 这项工作在Windows中工作得很好 。 In Windows I get like this result.
在Windows中,我得到这样的结果。
Window Successful Result 窗口成功结果
-------------------------------------------------------
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']}]
On Linux I get like this 在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:
It is mentioned as 被称为
06/08/2015 00:18:47,002 WARN [main] (DebugUIDriver.java:311) - Called quit() on debugDriver containing null uiDriver
Please provide me some technical specialities regarding this matter. 请提供有关此事的一些技术专业知识。 Can I run this job in linux ?
我可以在linux中运行此作业吗? Please help me out
请帮帮我
Well for unix systems you have to use Xvfb to run tests in headless mode, for jenkins you can use xvfb plugin 对于Unix系统,您必须使用Xvfb在无头模式下运行测试,对于jenkins,您可以使用xvfb插件
Simple example how to open firefox in headless mode 简单示例如何以无头模式打开Firefox
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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.