我在XCUITest框架中为一个非常实用的应用程序编写了一些测试(该应用程序比我在该公司使用的时间长了几年)。所有测试都在我的笔记本电脑和其他工程师的笔记本电脑上持续通过。
在Bitrise上运行测试时,第一次UI测试每次都在设置阶段失败,并显示以下消息:
testFixtureAttachment,UI测试失败 - 无法执行用于监控(app)动画的AX操作,错误:错误-25204执行AXAction 2043
其他测试通常会通过,但有时会因以下错误而失败:
UI测试失败 - 无法执行AX操作以监视(app)的事件循环,错误:错误-25204执行AXAction 2042
UI测试失败 - 无法滚动到可见(通过AX操作)TextField 0x7fe800f9fa20:traits:... error:错误-25204执行AXAction 2003
我如何解决这个问题,至少我没有第一次测试总是在设置失败?
答案 0 :(得分:3)
根据XCUITest团队的反馈,这种情况正在发生,因为模拟器缺乏CPU,并且在启动应用程序时AX Action会超时。通过使用电源管理来降低我的CPU,我能够在我自己的机器上重现这一点(通常不会出现故障)。
增加Bitrise中的CPU分配是一个显而易见的解决方案。但是,还有另一个奇怪的解决方案!
在测试的设置功能之前,我有以下一行:
let app = XCUIApplication()
这允许我的各种测试调用app.
而不是更长的完整语法。
发现删除此行可防止发生错误。这是通过Apple Developer论坛帖子找到的:
https://forums.developer.apple.com/thread/4472
所以...希望能为其他人解决这个问题,但它已经为我修好了。
答案 1 :(得分:1)
这通常与较慢的环境有关。 Xcode对于保证旧版和旧版的UI测试执行并不是很好。机器较慢。这适用于虚拟化环境(如Bitrise.io使用的),以及具有HDD存储而非SSD的旧机器或机器。
根据您的项目,有一些可能会或可能没有帮助的解决方法。您可以找到相关问题列表&可能的解决方案:https://bitrise-io.github.io/devcenter/ios/known-xcode-issues/。
从链接中,解决方案适用于大多数情况:
相关StackOverflow&其他论坛链接: