【发布时间】:2020-05-20 11:46:41
【问题描述】:
tl;dr:safaridriver 经常无法在真正的 iOS 13 设备上连接到 mobileSafari。关闭 webdriver 连接后,mobileSafari 似乎处于暂停模式。唯一的解决方案是通过 iOS 应用切换器手动关闭 mobileSafari。
编辑:该问题只能在 iPad 上重现。 iPhone 上似乎不存在该问题。
我正在尝试使用新的 iOS 13 webdriver 可能性直接在 iOS 设备上运行 selenium 测试。 它似乎按照https://webkit.org/blog/9395/webdriver-is-coming-to-safari-in-ios-13/ 中的描述工作,但是在尝试运行第二个测试会话时,safaridriver 似乎无法连接设备上的 mobileSafari。 这似乎发生了,如果在第一个会话之后没有立即启动第二个会话 - mobileSafari 似乎被暂停并且 safaridriver 无法处理这种情况。
使用 Postman,连接到正在运行的 safaridriver -p 5500 服务器。
使用原始正文发出localhost:5500/session 请求:
{
"capabilities": {
"alwaysMatch": {
"browserName": "Safari",
"platformName": "iOS"
}
}
}
多次重试后,这将导致:
{
"value": {
"error": "session not created",
"message": "Could not create a session: The session timed out while connecting to a Safari instance.",
"stacktrace": ""
}
}
无法解决此问题。唯一的解决方案是通过 App Switcher 手动杀死 mobileSafari。
也许有人知道如何解决这个问题。将不胜感激,因为这是运行连续自动运行测试的真正亮点。
【问题讨论】:
标签: ios selenium webdriver webkit safaridriver