Ios 如何使用UIImagePickerController(或任何其他本机VC)正确测试应用程序
我正在尝试使用自动创建应用程序的屏幕截图,一切都进行得很顺利,直到我想浏览Ios 如何使用UIImagePickerController(或任何其他本机VC)正确测试应用程序,ios,xcode,swift,xcode-ui-testing,fastlane-snapshot,Ios,Xcode,Swift,Xcode Ui Testing,Fastlane Snapshot,我正在尝试使用自动创建应用程序的屏幕截图,一切都进行得很顺利,直到我想浏览UIImagePickerController,它已将AllowEdit设置为true 奇怪的是,在iPhone4S、5s和6s模拟器中,这一切都很顺利,但在iPhone6(s)Plus中,测试似乎无法点击cropper视图中的“选择”(荷兰语中的Kies)按钮 我的第一次尝试在任何版本中都不起作用: app.buttons.elementBoundByIndex(2).tap() 并导致以下错误: 文件:///%3C
UIImagePickerController
,它已将AllowEdit
设置为true
奇怪的是,在iPhone4S、5s和6s模拟器中,这一切都很顺利,但在iPhone6(s)Plus中,测试似乎无法点击cropper视图中的“选择”(荷兰语中的Kies)按钮
我的第一次尝试在任何版本中都不起作用:
app.buttons.elementBoundByIndex(2).tap()
并导致以下错误:
文件:///%3Cunknown%3E:测试失败:-[MyAppSnapshots testExample()]失败:UI测试失败-未能滚动到可见(通过AX操作)按钮0x7f82d450ae30:traits:8589934593,{{327.0,613.5},{35.0,34.0},标签:'Kies',错误:执行AXAction 2003时出现错误-25204
然后,我从中获得了forceTapeElement
的解决方案,该解决方案在除iPhone6 Plus之外的所有手机上都能正常工作
然后我试着点击一个坐标
let window = app.windows.elementBoundByIndex(0)
let rightBottom = window.coordinateWithNormalizedOffset(CGVectorMake(
CGRectGetWidth(window.frame) - 20,
CGRectGetHeight(window.frame) - 20
))
rightBottom.tap()
但这在任何设备上都不起作用
那么如何测试这些本机接口呢?或者我应该在代码中添加某种开关,以便将
UIImagePickerController
替换为非交互式的控件。您是否能够解决此问题?因为我现在也在面对它!我确实尝试了所有提到的解决方案,但在任何设备上都不起作用,除非我设置了.allowsdediting=false。不,从未找到解决方案。虽然我已经试了很长时间了。谢谢你的回复!如果你(或其他人)还需要它,我只需在点击选择按钮之前点击sleep(1)就可以修复它。不确定是否每个人都应该如此。
let window = app.windows.elementBoundByIndex(0)
let rightBottom = window.coordinateWithNormalizedOffset(CGVectorMake(
CGRectGetWidth(window.frame) - 20,
CGRectGetHeight(window.frame) - 20
))
rightBottom.tap()