Это плохая идея запустить приложение только один раз, чтобы выполнить тестовые примеры, поскольку последовательность тестовых примеров неизвестна в xcode ui test.
Но если вы хотите это плохо, вот решение. В быстрых 2.2 и 2.3 я использую
dispatch_once
для этого требования.
В вашем случае класс тест, я думаю, что вы используете
XCUIApplication.launch() method in setUp() method.
вы должны использовать dispatch_once() здесь. если вы используете этот dispatch_once для XCUIApplication.launch(), это только запускает приложение один раз.
вот решение для быстрой 2,2 и 2,3:
private static var launchAppOnce:() = {
let app = XCUIApplication()
app.launch()
//do some code if you needed after launch app before run test cases.
}()
struct Static {
static var dispatchOnceToken: Int = 0
}
override func setUp() {
super.setUp()
continueAfterFailure = false
_ = urclassname.launchAppOnce
}
override func tearDown() {
super.tearDown()
}
использовать приведенный выше код в классах тестирования. Это приложение запускается только один раз и запускает следующий тестовый пример, где он заканчивает предыдущие тестовые примеры.
Моя проблема в том, что у меня есть приложение в Android и приложение в iPhone, например, с устройства Android. Я отправлю сообщение «HI», я хочу проверить, получен ли он в iPhone и наоборот, так как Например, я должен переключаться между двумя устройствами, поэтому мне нужно приложение в его начальном состоянии и функции, которые нужно разделить разными способами. – user3724559