当出现“使用当前位置”权限弹出窗口时,Appium和Selenium无法连接

Nic*_*acs 5 selenium ios appium

我正在尝试使用Appium自动进行iOS测试。我有一个需要用户位置并在首次启动时请求位置权限的应用。当我尝试将硒连接到全新安装时,出现弹出窗口时它将失败。当我手动接受弹出窗口时,Seleium和Appium会成功连接,并且测试可以继续。

这是服务器输出的副本:

error: Instruments did not launch successfully, failing session
error: Failed to start an Appium session, err was: Instruments did not launch successfully--please check your app paths or bundle IDs and try again
info: Responding to client with error: {"status":6,"value":{"message":"A session is either terminated or not started","origValue":"Instruments did not launch successfully--please check your app paths or bundle IDs and try again"},"sessionId":"faccc84b-fa8e-4137-ad77-f0c79d09b045"}
POST /wd/hub/session 500 13605ms - 270
debug: - - - "POST /wd/hub/session HTTP/1.1" 500 270 "-" "Ruby"
info: Clearing out appium devices
Run Code Online (Sandbox Code Playgroud)

以及硒输出的副本:

Selenium::WebDriver::Error::NoSuchDriverError:
       A session is either terminated or not started
Run Code Online (Sandbox Code Playgroud)

我正在使用以下命令初始化Selenium:

@driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => server_url)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

小智 1

我相信这是 Instruments 中的一个已知问题。当位置服务在应用程序启动后大约 8 秒内弹出时,UIAutomation 由于某种原因不会处理弹出窗口。请参阅Appium 邮件列表上的讨论以获取更多信息。

迄今为止提出的唯一解决方案是将位置服务检查延迟到应用程序启动后约 8 秒。