1) Я тестирую пользовательский интерфейс с помощью swift в Xcode 7.3, и я использую как .hittable, так и .exists для проверки того, скрыта ли метка или нет, и они оба работают. Я проверяю «истина» и «ложь», чтобы убедиться, что в любом случае они согласуются с результатом.
У меня есть метка, статический текст которой «Информация о дорожке» и она скрыта при первой загрузке приложения, а затем я нажимаю кнопку, чтобы отобразить метку, и вот результат после отображения метки.
// тест не пройден
let trackInfoLabel = app.staticTexts["Track info"]
XCTAssertEqual(trackInfoLabel.exists, true)
XCTAssertEqual(trackInfoLabel.hittable, true)
// тест проходит
XCTAssertEqual(trackInfoLabel.exists, false)
XCTAssertEqual(trackInfoLabel.hittable, false)
// тест проходит
let trackInfoLabel = app.staticTexts["Track Info"]
XCTAssertEqual(trackInfoLabel.exists, true)
XCTAssertEqual(trackInfoLabel.hittable, true)
// тест не пройден
XCTAssertEqual(trackInfoLabel.exists, false)
XCTAssertEqual(trackInfoLabel.hittable, false)
Буква, когда я нажимаю кнопку, чтобы скрыть метку, все результаты получаются противоположными. Это подтверждает, что оба свойства (hittable и exists) работают для параметра label.hidden.
2) Еще один способ узнать, скрыт ли элемент, это element.frame.size.width == 0 || элемент.frame.size.height == 0
person
Ohmy
schedule
07.05.2016