【发布时间】:2020-08-18 14:52:44
【问题描述】:
我得到异常:
org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死了。
每次我在 Safari 上使用时:
Actions action = new Actions(WebDriverRunner.getWebDriver());
action.click(packageCodeButton()).build().perform();
我在 BrowserStack (iPhone) 和 MacOS 上使用设备。当我选择 12 作为浏览器时,它可以在 MacOS 上运行。
问题仅出现在 Safari 上,而不会出现在任何其他浏览器上。它也不知道我尝试单击哪个元素或何时执行此操作(在哪个测试阶段)。其他 selenium 命令工作正常(我使用 selenide 框架)。
有人可以帮我解决这个错误吗?
有人问了类似的问题: stack
但是所有浏览器和随机命令都只是零星的问题。 在我的情况下,它看起来像一些 Safari 驱动程序错误。
编辑:
堆栈跟踪:
org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死了。 构建信息:版本:'3.141.59',修订:'e82be7d358',时间:'2018-11-14T08:17:03' 系统信息:主机:'L069G',ip:'10.212.130.34',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'11' 驱动程序信息:driver.version:RemoteWebDriver 功能 {64 位:false,acceptSslCert:false,acceptSslCerts:false,automationName:XCUITest,bootstrapPath:/usr/local/.browserstack/co...,浏览器:iphone,browserName:safari,browser_name:Safari,browserstack-tunnel:true , browserstack.isTargetBased: false, databaseEnabled: false, detected_language: selenium/3.141.59 (java win..., device: iphone, deviceName: iPhone 7, deviceOrientation: PORTRAIT, javascriptEnabled: true, locationContextEnabled: false, loggingPrefs: org. openqa.selenium.logging...,移动:{浏览器:移动,版本:iPhone 7-12.1},networkConnectionEnabled:false,newCommandTimeout:0,new_bucketing:true,noReset:true,方向:PORTRAIT,orig_os:ios,osVersion: 12, os_version: 12, platform: MAC, platformName: MAC, platformVersion: 12.1, realMobile: true, real_mobile: true, safari.options: {}, safariIgnoreFraudWarning: true, safariInitialUrl: http://mobile-internet-chec.. ., sessionName: , takeScreenshot: true, udid: ..., useXctestrunFile: true, version: ,wda_port:8405,webStorageEnabled:假,webkitResponseTimeout:20000} 会话 ID:
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:573)
at org.openqa.selenium.remote.RemoteExecuteMethod.execute(RemoteExecuteMethod.java:35)
at org.openqa.selenium.remote.RemoteMouse.click(RemoteMouse.java:59)
at org.openqa.selenium.interactions.ClickAction.perform(ClickAction.java:39)
at org.openqa.selenium.interactions.CompositeAction.perform(CompositeAction.java:34)
at org.openqa.selenium.interactions.Actions$BuiltAction.perform(Actions.java:642)
at TestHelpers.Helpers.GoogleMap.selectClosestOnMapMobile(GoogleMap.java:99)(file:Tests/src/test/resources/1_SPY-2619.feature:12)
原因:java.lang.IllegalArgumentException:预期一个元素,但结果是:
BrowserStack 可视化日志显示信息:
方法尚未实现
【问题讨论】:
-
您可以使用普通的 .Click() 还是使用 javascript 方法,而不是使用单击操作? - 我知道这并不理想,但它可能是让你解决这个问题的一种解决方法......你是否也让 browserstack 知道你的问题?他们可能已经意识到并有一个解决方法,因为这就是他们所做的
-
@RichEdwards 我不能使用正常的 click() 和 js 方法,因为我尝试点击 GoogleMap 并且它们都不起作用(正常错误'另一个元素会接收动作' js没有可见的点击结果)。如果我在这里没有得到帮助,我会写信给 BrowserStack。
标签: ios selenium selenium-webdriver safari selenide