UI 测试 UI 粘贴板

UI testing UIPasteboard

为什么这个测试失败了?

XCode 7 中创建一个名为 Example with UI 测试的新 swift iOS 项目。

Example/ViewController.swift:

import UIKit
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        UIPasteboard.generalPasteboard().string = "test"
    }
}

ExampleUITests/ExampleUITests.swift:

import XCTest

class ExampleUITests: XCTestCase {

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

    override func tearDown() {
        super.tearDown()
    }

    func testExample() {
        XCTAssertNotNil(UIPasteboard.generalPasteboard().string) //this fails
    }
}

您无法访问来自 UITest

的任何类型的代码

UITest 是一个单独的进程,它使用可访问性来模拟用户在 simulator/device 上的操作。因此,您只需检查 UI 并在 UI 上执行可用的操作(点击按钮等)