如何访问变量或观察 SwiftUI UI 测试中的变化?
How to access a variable o watch a change in SwiftUI UI testing?
我是 UI 使用 Swift UI 进行测试的新手,我只是想知道:
如何访问变量或观察过程中的 sheet 外观?
例如。登录后,我想检查它是否成功,然后断言布尔值(表示登录成功与否)或登录后 sheet 外观存在。
代码示例:
import XCTest
import SwiftUI
@testable import Formaloo
class when_the_user_types_username_and_password_and_press_login_button: XCTestCase {
private var app: XCUIApplication!
override func setUp() {
super.setUp()
self.app = XCUIApplication()
self.app.launch()
}
func test_user_should_be_logged_in_with_correct_username_and_password() {
let usernameTextField = app.textFields["usernameTextField"]
let passwordTextField = app.secureTextFields["passwordTextField"]
let loginButton = app.buttons["loginButton"]
XCTAssert(usernameTextField.exists)
XCTAssert(passwordTextField.exists)
usernameTextField.tap()
usernameTextField.typeText("*****")
passwordTextField.tap()
usernameTextField.typeText("*****")
loginButton.tap()
// I don't know how to check the login being successful here!
}
}
您已经知道如何在屏幕上查找内容,因此您只需要确定“什么,在使用正确的凭据点击登录按钮后向我证明我已登录?”
成功消息?
全新的屏幕?是否有该屏幕独有的控件?
使用 exists
断言您期望存在的事物之一
补充说明,在从中提取值后,没有理由断言登录字段的存在;获得价值证明它们在那里,所以断言是多余的。
我是 UI 使用 Swift UI 进行测试的新手,我只是想知道:
如何访问变量或观察过程中的 sheet 外观?
例如。登录后,我想检查它是否成功,然后断言布尔值(表示登录成功与否)或登录后 sheet 外观存在。
代码示例:
import XCTest
import SwiftUI
@testable import Formaloo
class when_the_user_types_username_and_password_and_press_login_button: XCTestCase {
private var app: XCUIApplication!
override func setUp() {
super.setUp()
self.app = XCUIApplication()
self.app.launch()
}
func test_user_should_be_logged_in_with_correct_username_and_password() {
let usernameTextField = app.textFields["usernameTextField"]
let passwordTextField = app.secureTextFields["passwordTextField"]
let loginButton = app.buttons["loginButton"]
XCTAssert(usernameTextField.exists)
XCTAssert(passwordTextField.exists)
usernameTextField.tap()
usernameTextField.typeText("*****")
passwordTextField.tap()
usernameTextField.typeText("*****")
loginButton.tap()
// I don't know how to check the login being successful here!
}
}
您已经知道如何在屏幕上查找内容,因此您只需要确定“什么,在使用正确的凭据点击登录按钮后向我证明我已登录?”
成功消息? 全新的屏幕?是否有该屏幕独有的控件?
使用 exists
补充说明,在从中提取值后,没有理由断言登录字段的存在;获得价值证明它们在那里,所以断言是多余的。