запустить все тестовые классы в тесте пользовательского интерфейса xcode

я совершенно новичок в тестировании приложения xcode ui. у меня есть источник приложения ios. Но я должен протестировать приложение с помощью теста пользовательского интерфейса xcode. в настоящее время я добавляю новые тестовые классы в свой тест пользовательского интерфейса, создавая новый файл и добавляя тестовые примеры путем записи.

Я могу провести свой тестовый класс индивидуально. Но я хочу выполнить все свои тестовые классы одновременно. Как я могу это сделать.

Я совершенно новый в этой области. Любая помощь будет оценена по достоинству.

Вы также можете дать мне ссылку на тестовый проект пользовательского интерфейса или любую ссылку, которая может мне помочь. Я просмотрел веб-сайт apple.developers.


person Eric Ipsum    schedule 07.06.2016    source источник


Ответы (2)


Чтобы запустить все ваши тесты, вы можете использовать следующую команду в Терминале:

$ xcodebuild test

Кроме того, вы можете использовать Scan для более простого интерфейса.

Чтобы автоматизировать выполнение ваших тестов, вы можете создать сценарий оболочки для запуска этой команды. Если вы хотите, чтобы сценарий оболочки запускался автоматически, используйте Jenkins или аналогичное программное обеспечение для непрерывной интеграции, чтобы запускать сценарий оболочки через определенные промежутки времени.

Вы можете настроить задание для запуска тестов с помощью xcodebuild или scan и отправить электронное письмо, когда задание завершится или просто в случае сбоя. Здесь есть отличная запись в блоге о том, как установить Jenkins на OS X: https://nickcharlton.net/posts/installing-jenkins-osx-yosemite.html, и я написал сообщение в блоге с примечаниями о некоторых вещах, которые могут застать вас врасплох при настройке: http://qualitytesting.tumblr.com/post/142473883709/building-with-jenkins-and-xcode< /а>. Функция электронной почты доступна по умолчанию, поэтому вам просто нужно настроить адреса электронной почты, на которые вы хотите получать уведомления, при настройке задания.

Чтобы запустить все тесты внутри Xcode, вы можете использовать cmd+U или перейти к навигатору тестов с левой стороны и нажать кнопку воспроизведения, которая появляется при наведении указателя мыши на набор тестов.

person Oletha    schedule 07.06.2016
comment
есть ли способ запустить, используя основной файл, такой как java, в swift? - person Eric Ipsum; 08.06.2016
comment
Насколько мне известно, чтобы запустить основной метод Java, вам все равно нужно как-то заставить его работать. В Swift вы можете вызвать команду оболочки для запуска вашего кода или нажать кнопку воспроизведения в Xcode. Как вы хотите вызывать свои тесты, если один из этих методов не покрывает его? - person Oletha; 08.06.2016
comment
на самом деле моя цель - создать структуру автоматизации, в которую мне нужно будет отправить письмо после завершения выполнения теста. Итак, я должен запустить свой код через файл, который сначала запускает выполнение моего теста, а после завершения выполнения он выполняет другие шаги. Не могли бы вы дать мне ссылку, где я могу узнать, как запустить выполнение теста пользовательского интерфейса из файла и уведомить, когда мое выполнение теста будет завершено????? спасибо за вашу помощь - person Eric Ipsum; 09.06.2016
comment
Вы можете сделать это с помощью Jenkins, ссылка на который приведена в моем ответе выше. Вы можете настроить задание для запуска через равные промежутки времени, например. каждые 15 минут или в 5 утра с понедельника по пятницу. Вы также сможете запускать задание вручную, нажав кнопку. Я обновлю свой ответ, чтобы включить более подробную информацию. - person Oletha; 09.06.2016
comment
Большое спасибо за ваше предложение, но на самом деле я не хочу запускать свои тестовые классы с помощью команды u или jenkins. Я хочу, чтобы он запускал его через структуру xctest, так как мне нужно выполнить еще одну задачу после завершения моего выполнения. Пожалуйста, помогите мне, как я могу запустить или запустить свой тестовый класс, используя xctest из файла? - person Eric Ipsum; 09.06.2016
comment
Сохраните подобное exec('scan') в файл с именем run_tests.rb в том же каталоге, что и ваш каталог fastlane, затем в терминале cd в этот каталог и запустите ruby run_tests.rb — это должно запустить ваши тесты, и вы можете добавить действия после сборки в сценарий Ruby, если ты хочешь. - person Oletha; 09.06.2016
comment
еще раз спасибо ...... хорошо, я попробую использовать сканирование, но будет лучше, если я вызову или запущу свой тест с помощью xctest. - person Eric Ipsum; 09.06.2016
comment
Scan использует xcodebuild под капотом, который является обычным инструментом для запуска тестов вне Xcode IDE. Вы можете использовать необработанный xcodebuild, если хотите, но я думаю, что сканирование аккуратнее и проще в обслуживании. Удачи! - person Oletha; 09.06.2016
comment
я хочу запустить команду сканирования из быстрого кода. если я запускаю код, он говорит env: Scan: Нет такого файла или каталога .... не могли бы вы помочь мне в этом, или я подниму вопрос, на который вы дадите ответ. - person Eric Ipsum; 21.06.2016
comment
Поднимите новый вопрос, показывающий, как вы пытаетесь его запустить. :) - person Oletha; 21.06.2016
comment
stackoverflow.com/ вопросы/37939663/ - person Eric Ipsum; 21.06.2016
comment
вот новый вопрос ... пожалуйста, дайте предложение - person Eric Ipsum; 21.06.2016

Не уверен, что понимаю, но что происходит, когда вы нажимаете cmd-U?

Убедитесь, что для схемы включены тесты пользовательского интерфейса.

введите здесь описание изображения

введите здесь описание изображения

person matsmats    schedule 07.06.2016
comment
да, если я нажму на нее, все запустится, но как я могу это сделать с помощью моего кода - person Eric Ipsum; 07.06.2016
comment
Я не понимаю, что вы имеете в виду, если вы можете сделать это с помощью кода. Чего вы пытаетесь достичь? - person matsmats; 07.06.2016
comment
есть ли способ запустить, используя основной файл, такой как java, в swift? - person Eric Ipsum; 08.06.2016