gpt4 book ai didi

java - Selenium safari Web 驱动程序无法在 Mac 上使用 jenkins 启动 safari 浏览器

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:23 27 4
gpt4 key购买 nike

当从终端触发 ant 脚本时,Safari 浏览器测试用例工作正常。然而,当 Jenkins 触发 ant 脚本时,相同的测试会失败。 PS 提到的错误日志。请告诉我您的看法。

错误日志:

   [testng] ===============================================

[testng] Suite

[testng] Total tests run: 1, Failures: 0, Skips: 1

[testng] Configuration Failures: 1, Skips: 1

[testng] ===============================================


[testng] Nov 18, 2014 6:29:32 PM org.openqa.selenium.safari.SafariDriverServer start

[testng] INFO: Server started on port 6225

[testng] The tests failed.

谢谢你,桑德

最佳答案

Jenkins 在不访问显示器的情况下执行。它是一个服务器应用程序。也就是说 Jenkins 无法启动 Safari 浏览器。不过,您可以将 PhantomJS ( http://phantomjs.org/ ) 与 GhostDriver ( https://github.com/detro/ghostdriver ) 结合使用。这是一个功能相当齐全但根本没有 GUI 的浏览器。它将所有内容渲染到缓冲区。因此,您仍然可以截取屏幕截图并将其保存到文件中,但您无法实时看到浏览器窗口。

PhantomJS 使用 WebKit 作为渲染引擎,因此与 Safari 应该没有什么区别。

Java 中的设置与 SafariDriver 非常相似:

File phantomBin = new File("lib/test/phantomjs/bin/phantomjs");
// http://code.google.com/p/selenium/wiki/DesiredCapabilities
DesiredCapabilities capabilities = DesiredCapabilities.phantomjs();
capabilities.setCapability("phantomjs.binary.path", phantomBin.getAbsolutePath());
capabilities.setCapability("acceptSslCerts", true);
capabilities.setCapability("handlesAlerts", true);
capabilities.setJavascriptEnabled(true);
WebDriver driver = new PhantomJSDriver(capabilities);

关于java - Selenium safari Web 驱动程序无法在 Mac 上使用 jenkins 启动 safari 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995278/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com