java - 无法使用 Selenium 在mac上的safari上执行并行执行

标签 java selenium testing selenium-webdriver safaridriver

我有大约 1600 个使用 selenium 编写的 java TC。 在并行执行测试脚本时(比如线程数 = 5),我能够触发 5 个 safari webdrivers 并且脚本正在并行执行。

但是,当第 6 个(threadcount +1)脚本被调用时,它会抛出以下异常:

无法创建 session :Safari 实例已与另一个 WebDriver session 配对。

我在每个测试用例后退出并关闭 webdriver session 。 同一段代码在 safari 以外的其他浏览器上运行良好。它应该在同一台机器上运行,并有 5 个实例并行运行。

最佳答案

我的预期是您会达到 5 浏览器实例的默认 maxSession 限制。

您可以通过打开 Selenium Grid 控制台并查看节点配置来仔细检查它:

enter image description here

可以通过向您的 Selenium Grid 节点启动命令行提供相关的 maxSession 参数来增加该值,例如:

java -jar selenium-server-standalone-3.141.59.jar -role node -maxSession 10 -hub http://localhost:4444/grid/register
                                                             ^^^^^^^^^^^^^^

引用资料:

关于java - 无法使用 Selenium 在mac上的safari上执行并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57670744/

相关文章:

Java Set 获取重复条目

python - 使用 Selenium Python 库单击链接

python - selenium.common.exceptions.WebDriverException : Message: Can not connect to the Service chromedriver. exe 打开 chrome 浏览器

python - 网络驱动程序异常 : Message: unable to set cookie while switching cookies from Session to Selenium's Chrome on Instagram

unit-testing - 在 Haskell 中为不同类型编写测试用例

testing - 使用 ExUnit 进行测试时如何伪造 IO 输入?

java - Android Toast.makeText() 没有出现

java - 在不扩展的情况下在 JFrame 上绘画

java - Java String.toUpperCase() 会失败吗?

javascript - 我可以在浏览器中运行 Jasmine + Protractor 测试吗?