如何解决如何测试应用程序是否呈现某个视图控制器?
我对XCode UI测试还很陌生,我试图运行一个测试,在该测试中我填写两个文本标签,然后按一个按钮。按下按钮后,应用程序应进行URL调用并重定向到另一个视图控制器。我要检查在此操作结束时是否显示第二个视图控制器。
要对此进行测试,我编写了以下测试:
let app = XCUIApplication()
app.launch()
let ownerTextField = app.textFields["ownerTextField"]
ownerTextField.tap()
ownerTextField.typeText("UserA")
let repositoryTextField = app.textFields["repositoryTextField"]
repositoryTextField.tap()
repositoryTextField.typeText("AppB")
app.buttons["SearchButton"].tap()
XCTAssertTrue(app.isdisplayingResults)
isdisplayingResults
在哪里
extension XCUIApplication {
var isdisplayingResults: Bool {
return otherElements["resultView"].exists
}
}
我已经在其快捷文件类中设置了View控制器的标识符:
override func viewDidLoad() {
super.viewDidLoad()
view.accessibilityIdentifier = "resultView"
...
尽管如此,测试失败。我如何获得成功?
解决方法
非常简单。 如果单击URL后显示Viewcontroller,则表示屏幕上不存在您以前的VC按钮。 因此,只需检查先前的VC按钮是否存在。
If app.buttons["SearchButton"].esists()
{ //write if code
} else {
// Write else code
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。