IOS 中如何进行 UI 测试?有哪些工具?代码举例讲解

在 IOS 中,我们可以使用以下工具进行 UI 测试:

  1. XCTest:苹果自带的测试框架,可以写 UI 测试。
  2. EarlGrey:第三方测试框架,专注于 UI 测试,可以模拟用户交互。

使用 XCTest 进行 UI 测试的步骤:

  1. 创建测试目标(Test Target),选择 IOS UI Testing Bundle。
  2. 导入需要测试的模块。
  3. 创建测试类,继承 XCUIApplication。
  4. 添加测试方法,方法前缀为 test。
  5. 使用 XCUIElement 访问 UI 元素。
  6. 使用 XCTAssert 检查 UI 状态。
  7. 使用 XCUIApplicationInstance 的 tap()、typeText(_:) 等方法模拟用户交互。
  8. 运行测试,查看测试报告。

下面是一个简单示例:

swift
import XCTest

class LoginUITests: XCTestCase {

    override func setUp() {
        super.setUp()
        continueAfterFailure = false
        XCUIApplication().launch()
    }

    func testLogin() { 
        let usernameTextField = XCUIApplication().textFields["usernameTextField"]
        usernameTextField.tap()
        usernameTextField.typeText("username")

        let passwordTextField = XCUIApplication().secureTextFields["passwordTextField"]
        passwordTextField.tap()
        passwordTextField.typeText("password")

        let loginButton = XCUIApplication().buttons["loginButton"]
        loginButton.tap()

        XCTAssertTrue(XCUIApplication().staticTexts["successLabel"].exists)
    }
}

我们可以在 Xcode 点击 Product -> Test 或者使用快捷键 Command+U 运行 UI 测试。