У меня есть приложение, которое на производстве будет на пяти разных устройствах, общаясь друг с другом с помощью MultipeerConnectivity
. У меня есть скрипт bash, который запускает приложение на пяти разных симуляторах. Это прекрасно работает, но есть много кнопок, которые мне нужно нажимать на каждом устройстве, чтобы каждый раз проверять все.
Так что я подумал, что, возможно, XCUITest
может помочь автоматизировать это и удалить эти внешние зависимости bash-скрипта (хотел бы сделать все внутри Xcode / Swift). Я попробовал наивный подход, подобный этому:
func testExample() {
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
let app1 = XCUIApplication(bundleIdentifier: "com.madebymist.qdb-ios")
let app2 = XCUIApplication(bundleIdentifier: "com.madebymist.qdb-ios")
app1.launch()
app1.buttons["Select Group"].tap()
app1.sheets.buttons["Group one"].tap()
app1.buttons["Host"].tap()
// Launch and test App 2
app2.launch()
app2.buttons["Select Group"].tap()
app2.sheets.buttons["Group one"].tap()
app2.buttons["Join"].tap()
}
Но это только запустило приложение один за другим, после одного, в том же Симуляторе.
Итак, есть ли способ добиться одновременного XCUITest на нескольких устройствах Simulator? (Желательно в Xcode / Swift, но другие опции также будут работать).