【发布时间】:2020-07-22 18:47:36
【问题描述】:
当我的应用首次启动时,它会显示一个对话框,要求用户通过单击“不允许”或“确定”进行响应,如果他们允许该应用使用麦克风。
问题是,当单元测试第一次启动时,会出现同样的对话框,这会停止测试的执行。如果 Xcode Server 正在运行单元测试,则无法手动干预并单击按钮。
有没有办法自动关闭此对话框?点击哪个按钮进行单元测试无关紧要。
我尝试将以下代码放入 XCTestCase setUp() 方法中:
[self addUIInterruptionMonitorWithDescription:@"Interruption Monitor" handler:^{BOOL(XCUIElement * element) {
XCUIElement *button = [[element buttons] elementAtIndex:0];
if (button) {
[button tap];
}
}];
但处理程序永远不会被调用。
如果有办法一开始就永远不显示对话框,我什至不需要应用程序来关心单元测试的麦克风。
【问题讨论】:
-
单元测试?还是 UI 测试? (看着那里的 XCUIElement……)
标签: objective-c xcode xctest xctestcase