XCTest UITesting — импорт тестовых случаев и экспорт результатов тестовых случаев

Я пишу случаи UITest для своего приложения, используя XCTest. Некоторые тестовые случаи требуют некоторого ввода.

Учтите, что я пишу тестовый пример своей страницы входа. Для страницы входа требуются имя пользователя и пароль. Я должен проверить недопустимое имя пользователя, неверный пароль, пустые поля, действительное имя пользователя и пароль во всех этих сценариях. Эти входные данные (Имя пользователя и Пароль в различных комбинациях) были заданы в тестовых классах.

Я хочу отделить эти входы от тестовых классов. Мне надо дать выводы извне. Поэтому я создал файл plist, который включает комбинацию имени пользователя и пароля. Я импортировал данные из файла plist и передал их для тестов.

Вопрос: Этот подход подходит? Или мне следует использовать какой-либо другой способ передачи входных данных в мои тестовые примеры?

Переходя к выходной части, после того, как тестовые примеры были завершены, мы можем увидеть результаты тестирования в панели «Навигатор тестов». (Пройденные результаты отмечены зеленой галочкой, а красная – неудачным тестом).

Я хочу экспортировать эти результаты из Xcode, чтобы я мог представить результаты на веб-странице или распечатать результаты в текстовом файле и т. д.

Вопрос: Возможно ли это? Если да, может ли кто-нибудь объяснить это?

Просто запутался!!


person Confused    schedule 08.09.2016    source источник


Ответы (2)


Вы можете использовать файл plist или Json для параметризации тестов. Для анализа вывода вы можете использовать xcpretty, который широко используется для форматирования xcodebuild, он генерирует вывод как Unit- Стиль XML или html, а также. Вы можете запустить тесты из командной строки, используя xcodebuild test, и направить вывод в xcpretty.

person itsViksIn    schedule 13.09.2016

После некоторых исследований я написал класс утилиты, который может принимать plist, объект json, файл txt в качестве входных данных. Он преобразует их в NSDictionary, а затем будет использовать необходимые данные в качестве входных данных.

Для выходной части я использую Сервер OSX. Встроенные выходы более элегантны, чем я ожидал. Спасибо Apple!!

person Confused    schedule 27.03.2017