У меня есть приложение, которое в производстве будет на пяти разных устройствах, разговаривая друг с другом с помощью 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 на нескольких устройствах-симуляторах? (желательно в Xcode / Swift, но подойдут и другие варианты).