java - 执行 selenium 测试时,浏览器未在 Jenkins 中打开

标签 java selenium google-chrome jenkins selenium-webdriver

我正在尝试在 Jenkins 中启动一项作业,它执行 Selenium 脚本。几个月来它工作得很好,但今天它因未知原因而停止工作。这项工作一如既往地开始第一个测试,然后卡住了。我没有收到任何错误,只是此后什么也没有发生:

TEST STARTED: test
-------------------------------------------------------------------
[main] INFO net.serenitybdd.core.Serenity - TEST NUMBER: 1
März 26, 2019 3:02:23 NACHM. org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 46182
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
März 26, 2019 3:02:25 NACHM. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
<小时/>

我意识到,每次我使用 chrome 开始工作时,都会有一个新的 Google Chrome 进程添加到任务管理器中,因此我假设 chrome 窗口正在显示。另外,当我杀死这个进程时,我得到了这个:

...
[1553694146.113][SEVERE]: Timed out receiving message from renderer: 10.000
[1553694146.113][WARNING]: screenshot failed, retrying
[1553694156.113][SEVERE]: Timed out receiving message from renderer: 10.000
[1553694166.118][SEVERE]: Timed out receiving message from renderer: 10.000
[1553694166.118][WARNING]: screenshot failed, retrying
[main] WARN net.thucydides.core.webdriver.WebDriverFacade - Failed to take screenshot (unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
 (Session info: chrome=73.0.3683.86)
 (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17763 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-5QTQGUC', ip: '192.168.178.23', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.1'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:\WINDOWS\TEMP\scoped_dir5...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:3697}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 73.0.3683.86, webStorageEnabled: true}
Session ID: da5e7153b21e4cb075843ac4e541ab6f)
[main] ERROR net.thucydides.core.steps.ConsoleLoggingListener -
...
<小时/>

我尝试更新 Jenkins 和所有插件,更新我的浏览器和网络驱动程序,关闭防火墙和防病毒软件。到目前为止没有任何帮助。我仍然能够通过 ide 运行所有本地测试,并且不知道 Jenkins 出了什么问题,以至于我无法运行我的测试。

有什么想法吗?可能出了什么问题以及如何处理?

PS 它在 Firefox 中工作正常,但我还需要 chrome

最佳答案

对于 Windows:

我想添加 Jenkins 何时在浏览器中显示正在运行的自动化测试用例。

首先,您不应该将 Jenkins 安装为 Windows 应用程序。 即使您这样做,但不要启用“登录”选项卡下的“允许服务与桌面交互”复选框,那么 Jenkins 将不会被安装。显示在浏览器中运行的测试用例。在哪里可以找到此选项卡 -

1)在windows中,service选择Jenkins的服务

2) 打开服务的属性窗口 -> 登录 -> 启用复选框“允许服务与桌面交互”

3) 您必须切换 NoInteractiveServices 注册表项

4)之后您应该重新启动服务,Jenkins。

最佳方法 您应该从 war 文件部署 Jenkins,如下所示:

1) 从 Jenkins 官方网站下载 Jenkins.war。 (如果已经安装,只需转到 Jenkins 安装的文件夹,默认路径为“C:\Program Files (x86)\Jenkins\”)

2) 通过命令提示符部署它:java -jar {directoryOfJenkinsFileInWindows}/jenkins.war

3) 现在您可以通过 http://localhost:8080 访问 Jenkins 管理

关于java - 执行 selenium 测试时,浏览器未在 Jenkins 中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55359513/

相关文章:

java - 没有用于 EntityManager 的持久性提供程序,JPA 配置

selenium - 将 Selenium 与 Jmeter 或 Grinder 集成

java - 目前无法识别列表中选中/选定的单选按钮

html - Flexbox div 未在 Chrome 中显示

css - Chrome + 位置 :fixed + background-attachement:fixed 的奇怪行为

php - $.get 函数不在 Chrome 中运行,但在 IE 和 FireFox 中运行

java - 如何从keysym代码中获取对应的字符?

java - JButton 在 JFrame 中响应,但不在 JPanel 中响应

selenium2 ( phpunit ) - 连接错误

java - 无法创建weblogic提供的webservice客户端