Автоматизация симуляции плохого сетевого соединения с помощью XCTest - PullRequest
0 голосов
/ 18 марта 2019

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

Я знаю, что возможно смоделировать плохое сетевое подключение с помощью Network Link Conditioner.Я знаю, что вы можете включить его в настройках реального устройства и симулятора.Кажется, что для включения и установки желаемого состояния требуются только ручные шаги.

Но мне было интересно, можно ли автоматизировать этот процесс - как бы вы запустили набор автоматических тестов на CI?(если некоторые из них будут тестироваться в плохих условиях сети)?

Мы не используем реальные устройства для автоматического тестирования.У меня нет доступа к машинам с тестовыми наборами для CI.У меня нет выделенного компьютера, на котором всегда можно было бы включить и настроить NLC, и я не могу управлять самой сетью (маршрутизатор и т. Д.).Мы не используем макеты в наших тестах.

1 Ответ

0 голосов
/ 18 марта 2019

К сожалению, плохое сетевое соединение / отсутствие сетевого соединения нелегко проверить с помощью XCTest, и нет простого способа настроить что-то подобное.

Есть (как правило) два пути решения этой проблемы:

1/ implement some kind of network connection issues to your network-communication methods and run them when running UI tests

2/ test on real device with slow internet connection set in settings. 

К сожалению - медленное сетевое соединение не может быть установлено ни на Simulator, ни на сервере Mac (который вы, вероятно, используете для своего CI) по умолчанию, и инструменты сторонних производителей тоже не очень хороши в этом.

...