Tôi có triển khai thực hiện XCTestCase
rất đơn giản để kiểm tra một lần nhấn vào nút và mong đợi một Trình điều khiển cảnh báo hiển thị. Vấn đề là phương pháp tap()
không hoạt động. Đặt một điểm ngắt trong IBAction của nút liên kết, tôi nhận ra logic thậm chí không được gọi.XCUIElement tap() không hoạt động
class uitestsampleUITests: XCTestCase {
var app: XCUIApplication!
override func setUp() {
super.setUp()
continueAfterFailure = false
app = XCUIApplication()
app.launch()
}
func testButton() {
let button = app.buttons["Button"]
button.tap()
expectationForPredicate(NSPredicate(format: "exists == 1"), evaluatedWithObject: button, handler: nil)
waitForExpectationsWithTimeout(5.0, handler: nil)
}
}
Ngoài ra, nhân đôi hướng dẫn button.tap()
làm cho các đường chuyền kiểm tra, như thế này:
func testButton() {
let button = app.buttons["Button"]
button.tap()
button.tap()
expectationForPredicate(NSPredicate(format: "exists == 1"), evaluatedWithObject: button, handler: nil)
waitForExpectationsWithTimeout(5.0, handler: nil)
}
Tôi đang phải đối mặt với vấn đề này trong Xcode 7.3.1 Tôi có thiếu cái gì? Nó là một lỗi?
Tôi đã báo cáo lỗi cho Apple: https://openradar.appspot.com/26320475 –
Có thể đó là vấn đề về thời gian không? Điều gì sẽ xảy ra khi bạn thêm thời gian chờ 1 giây trước khi thử nhấn? Thật không may, khuôn khổ tự động hóa giao diện người dùng, đặc biệt là tạo sự kiện, có đầy đủ các vấn đề. – Sulthan
Tôi không sợ. Nó không hoạt động ngay cả khi tôi chờ đợi kỳ vọng này 'expectationForPredicate (NSPredicate (định dạng:" hittable == 1 "), evaluationWithObject: button, handler: nil)' –