所以在一些苹果示例代码中,我看到这样的应用程序测试:
[viewController press:[calcView viewWithTag: 6]]; // 6
但是,当我尝试使用自己的视图控制器/视图执行此操作时,我得到的只是“没有可见的界面声明按下”……iOS 上的应用程序 SenTesting 的文档在哪里,特别是您如何进行 UI 测试(在iOS中以编程方式按下按钮等)?
所以在一些苹果示例代码中,我看到这样的应用程序测试:
[viewController press:[calcView viewWithTag: 6]]; // 6
但是,当我尝试使用自己的视图控制器/视图执行此操作时,我得到的只是“没有可见的界面声明按下”……iOS 上的应用程序 SenTesting 的文档在哪里,特别是您如何进行 UI 测试(在iOS中以编程方式按下按钮等)?
如果没有看到示例代码,我会猜测视图控制器有一个 UIAction -press:
。它应该期望笔尖将按钮按下连接到此操作。
测试直接调用触摸事件将调用的动作,而不是模拟事件。
看了一会儿,我想你可能想如何以编程方式将触摸事件伪造为 UIButton?.
首先,您需要获取对 UIButton 的引用。如果它已经在视图控制器中设置为插座,则可以使用它。所以,我假设你的 viewController 有一个名为 'button' 的 UIButton 的 IBOutlet
[viewController.button sendActionsForControlEvents:UIControlEventTouchUpInside];
对于 Swift 2.0 解决方案
viewController.button.sendActionsForControlEvents(.TouchUpInside)