Тестирование пользовательского интерфейса в iOS / Swift - PullRequest
0 голосов
/ 25 апреля 2019

Я довольно новичок в iOS UITesting. В настоящее время я пишу UITest для моего приложения, используя XCTest. Я смог проверить, является ли UIElement видимым или скрытым при нажатии определенной кнопки. Но я хотел проверить, вызывается ли определенный метод при нажатии кнопки. Как это сделать? Подходит ли это для тестирования пользовательского интерфейса?

Я также хотел проверить UIElement видимые / скрытые только тогда, когда определенные отправленные события запускаются вместо касания. Можем ли мы проверить отправленные события, такие как Touch Down или Touch Up Inside кнопки? Любая помощь приветствуется. Благодаря.

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Первая часть (проверка, является ли элемент видимым / отображаемым) проста:

let button = app.buttons["yourButton"]
let element = app.cells["yourElement"]

button.tap() //tapping the button, so the element appears

if element.exists == false {
  //fail the test with custom message
}

if element.isHittable == false {
  //fail the test with custom message
}

Вы можете использовать XCTAsserts для указанных выше условий, но указанные выше условия могут не работать с пользовательским сообщением. Также - если ваш элемент не виден сразу, используйте .waitForExistence вместо .exists

Вторая часть не должна (и не может) тестироваться UI-тестами - у вас должны быть модульные тесты для проверки, отправляет ли ваш элемент правильные журналы при взаимодействии с ним.

Да, вы можете (теоретически) использовать утверждения с выводом на консоль, как предложено в @ Βασίλης Δ. ответ, но это не правильный способ тестирования пользовательского интерфейса.

0 голосов
/ 23 мая 2019

Технически можно тестировать события Touch down и Touch up inside с помощью тестов пользовательского интерфейса, но не очень простым способом.

Вы можете изменить свой идентификатор доступности элемента, добавив _touchdown или _touchupinside в конце его, в методы делегата. Затем, в вашем тесте пользовательского интерфейса, Вы можете проверить, содержит ли твой идентификатор элемента теги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...