Пакетные тесты пользовательского интерфейса в Xcode - PullRequest
0 голосов
/ 18 мая 2018

Я бы хотел выполнить пакетные тесты пользовательского интерфейса (сейчас, я думаю, модульные тесты были бы полезны когда-нибудь)

Ни тесты пользовательского интерфейса Xcode, ни "fastlane scan", кажется, не имеют никакой внутренней поддержки для этого на моментсейчас.Есть ли хороший и простой подход?

Ситуация

Мне нужно протестировать определенный тест пользовательского интерфейса N раз.

Реальная ситуация в мире

Мне нужно протестировать определенный тест пользовательского интерфейса 100 раз и получить вывод в конце пакета:

  • сколько итераций прошло / не удалось
  • любые журналы неудачных итераций

То, что я пробовал (и делаю сейчас)

В fastfile, fastlane scan может использовать для пакетной обработки.Однако все выходные файлы попадают в отдельные каталоги, и это будет довольно (?) Работа, объединяющая все эти результаты.Не похоже, что scan возвращает логическое значение или что-либо, обозначающее статус успеха теста?(Также на самом деле сканирование, скорее всего, не поддерживает запуск определенного теста, оно запускает их все)

100.times do |index|
    puts "Running test iteration #{index}..."
    scan(scheme: schemefortesting,
        output_directory: "fastlane/tests/test_output_#{index}",
        destination: 'name=Myrealworldiphonename'
    )
end

1 Ответ

0 голосов
/ 31 мая 2018

Насколько я знаю, это не поддерживается.Я полагаю, что лучшим способом сделать это было бы создание метода для выполнения теста, а затем многократный запуск тестового примера, отслеживание результатов в целом и запись в консоль.Что-то вроде:

func runTheTest() -> Bool {
    app.launch()
    // Run your test
    let passing = // Make your asserts
    return passing
}

func testManyTimes() {
    var allTestsPassing = true
    for n in 0...100 {
        let thisLoopPassing = runTheTest()
        print("Loop \(n) returned \(thisLoopPassing)")
        allTestsPassing = allTestsPassing && thisLoopPassing
    }
    XCTAssertTrue(allTestsPassing)
}

Идея частично взята из Автоматический запуск тестового примера много раз в Xcode .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...