使用Appium自动化iOS 8应用程序会导致应用程序冻结



我们有一个应用程序,可以在Appium上运行自动化测试。我们可以通过Appium在设备和模拟器上启动该应用程序。然而,在Appium发送2-3个点击命令后,应用程序会挂起并冻结。冻结后,Appium在屏幕上找不到任何其他元素。

我们曾考虑使用Xcode 6.0.1 Instruments编写一个测试脚本,但当脚本运行时,应用程序也会挂起。

手动测试时,该应用程序会按预期运行。只有当我们尝试使用Appium或Xcode的Instruments在它上运行自动化时,它才会挂起。我们使用的是Appium v1.3.0-beta1和Xcode 6.0.1。

这似乎是一个类似于这个问题的问题,但我们的测试设备已经在8.0.2上了。

因此,在iOS 8中,记录过多的数据(尤其是记录API响应时的情况)可能会导致自动化期间的竞争状况。我们能够通过禁用应用程序中的日志记录来解决自动化冻结问题。

由于@tbao在这篇帖子中的精彩分析,解决方案得以发现:https://discuss.appium.io/t/app-freezes-when-automated/1030/8

有一种方法可以在运行时重新启动Appium Server,这有助于我们克服冻结问题:

请查看我的博客了解更多详细信息:

http://www.qaautomationsimplified.com/android/restarting-appium-server-improve-various-server-freezing-issues-may-improve-execution-time/

在iOS上自动化web应用程序(Safari)时遇到了同样的问题,通过执行安装命令从appium 1.15.1切换到1.16.0-beta.3解决了这个问题:

npm install -g appium@beta --unsafe-perm=true --allow-root

最新更新