Chrome 执行selenium测试时,浏览器无法在Jenkins中打开

fgw7neuy  于 2023-08-01  发布在  Go
关注(0)|答案(5)|浏览(116)

我正在尝试在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和所有插件,更新了我的浏览器和webdriver,关闭了防火墙和防病毒。到目前为止没有任何帮助。我仍然能够通过ide运行所有本地测试,不知道Jenkins出了什么问题,我不能运行我的测试。
有什么想法,什么可能出错以及如何处理?
PS它在Firefox中运行良好,但我也需要Chrome

eagi6jfj

eagi6jfj1#

Windows版:

  • 我想添加Jenkins何时应在浏览器中显示正在运行的自动化测试用例。*
  • 首先,您不应该将Jenkins安装为Windows应用程序。* 即使您这样做,但不要启用登录选项卡下的复选框“允许服务与桌面交互”,那么Jenkins将不会在浏览器中显示正在运行的测试用例。在哪里可以找到这个标签-

1)在Windows中,服务选择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管理

mdfafbf1

mdfafbf12#

此错误消息...

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

字符串
...意味着您使用了DesiredCapabilities()类的示例,并为chrome进行了强制转换,但在创建会话时检测到的方言是W3C
作为一种普遍意识:

  • ChromeChromeDriverOSS投诉
  • GeckoDriver / FirefoxIEDriverServer / Internet ExplorerW3C投诉。

您的代码块将帮助我们以更好的方式调试问题。也许你已经使用了DesiredCapabilities()类并为chrome进行了强制转换,但是在初始化时,你调用了FirefoxDriver()

WebDriver driver =  new FirefoxDriver();

解决方案

WebDriver 的初始化修改为:

WebDriver driver = new ChromeDriver();

wydwbb8l

wydwbb8l3#

所以。我发现了一个问题,这是一个时空错误。更多信息可以在here中找到。我将尝试将webdriver和chrome降级到旧版本,并将分享结果。

  • 编辑:* 我已经将我的Chrome降级到Version 72.0.3626.81,chromedriver降级到ChromeDriver 2.46。很好用。
  • 注意:* 我发现阻止Chrome自动更新到最新版本有点棘手。Here你可以找到一些有用的提示如何处理它。我个人选择文件夹重命名))
4jb9z9bj

4jb9z9bj4#

这主要是由于兼容性问题( selenium 和 chrome 驱动程序版本)。请参阅http://chromedriver.chromium.org/downloads
Selenium Timed out receiving message from renderer

wribegjk

wribegjk5#

工作解决方案-通过下载通用Java包(.war)安装Jenkins,安装后,浏览器将在运行selenium测试时自动打开。
https://www.jenkins.io/download/
请参考下面的URL来安装支持打开浏览器和运行测试的Jenkins。https://itsforlavanya.blogspot.com/2020/08/jenkins-installation-install-jenkins-in.html
x1c 0d1x的数据

相关问题