2012-05-29 8 views
6

У меня есть набор автоматизированных тестовых примеров, созданных в инструментах, использующих tuneup.js для тестирования приложения. Я решил использовать tuneup.js, поскольку он позволял мне отделять мои тесты в отдельных тестовых случаях и запускать весь набор из одного индивидуального скрипта, это отлично работает, если все тесты работают нормально, однако если один из них не работает, все тесты терпят неудачу, поскольку симулятор остается в неизвестном состоянии (я написал свои тесты, чтобы все они начинались и заканчивались на одном экране входа в систему) Есть ли способ сбросить симулятор или перезапустить приложение между тестовыми примерами?Сброс iOS-симулятора между тестами

+0

Не могли бы вы найти решение? –

+1

Нет, к сожалению, нет, все еще смотря, но на самом деле не надеялся найти решение - задал вопрос Apple прямо, так что обновится, если я получу ответ – ChrisH

+0

Получил ответ от Apple? – RaffAl

ответ

0

Попробуйте запустить тесты из командной строки. Автоматизация пользовательского интерфейса позволяет выполнить только один тест за один проход. После того, как тест будет завершен (не имеет значения, если он был провален или прошел), приложение будет выбито системой (UIAutomation). По крайней мере, он работает с реальными устройствами.

Ваш сценарий запуска командной строки будет работать следующим образом: 1. Считывает файл конфигурации (может быть любым файлом txt или xml) с указанием пути к вашим тестам. На этом этапе у вас будет массив с контуром к вашим тестам и общим количеством тестов. 2. Затем, используя простой цикл «for» (от 1 до «testcount»), он запустит UIAutomation с требуемыми параметрами. Одним из параметров будет путь к вашему тестовому скрипту, который был прочитан из файла конфигурации.

Вы также можете поместить путь к «файлу конфигурации» в качестве параметра для сценария запуска командной строки. Это позволит вам запускать любой тестовый набор, просто вызывая сценарий запуска с требуемым конфигурационным файлом.

0

Я написал сценарий, который сбросит содержимое & настроек всех версий и устройств для iOS Simulator. Он захватывает имена устройств и номера версий из меню, поэтому он будет включать в себя любые новые устройства или версии iOS, для которых Apple выпускает симуляторы.

Его легко запустить вручную или использовать в скрипте сборки. Я хотел бы предложить добавить его в качестве предварительного скрипта запуска перед сборкой.

https://github.com/michaelpatzer/ResetAllSimulators

0

Потерпев неудачу испытания оставить ваше приложение в неизвестном состоянии является одной из основных проблем, с помощью инструмента инструментов Apple, как есть. Мы решили это в рамках под названием Illuminator (on GitHub, and inspired by tuneup.js) двумя способами.

Во-первых, мы написали automation bridge - канал для RPC с тестируемым приложением, которое позволяет нам сбрасывать наше приложение перед каждым тестом.

В тех случаях, когда этого недостаточно, испытательный бегун иллюминатора имеет возможность повторно запускать каждый неудавшийся тест в своем собственном первоначальном запуске симулятора (например, с --retest 1x,solo).

Смежные вопросы