Как реализовать XCUITest с вызовами API - PullRequest
0 голосов
/ 14 июля 2020

Я новичок в среде XCUITest. Мне нужно вызвать API https://restcountries.eu/rest/v2/all, чтобы получить список стран и отобразить его в UITableView сейчас, когда пользователь щелкнет любую ячейку на основе названия страны, на следующем экране будет отображаться название страны и флаг страны теперь все работает нормально, я хотел реализовать XCUITest, для этого я добавил функцию

 [![enter image description here][1]][1]

func testTheCountryListAndAllScreen() {
app.launch()
let countryListTableView = self.app.tables["CountryList"]
XCTAssertTrue(countryListTableView.exists, "Country list have data")
let countryListCell = countryListTableView.cells
 if countryListCell.count > 0 {
     for cell in 0..<countryListCell.count {
          let countryCell = countryListCell.element(boundBy: cell)
           countryCell.tap()
           self.app.buttons.staticTexts["Move to info page"].tap()
           self.app.navigationBars.buttons.element(boundBy: 0).tap()
           self.app.navigationBars.buttons.element(boundBy: 0).tap()
           }
      }
}

в app.launch () приложение вылетает

1 Ответ

0 голосов
/ 14 июля 2020

Вы можете делать запросы с помощью URLSession и получать доступ к данным с помощью JSONEncoder.

Если вы хотите протестировать свою таблицу (при изменении ее данных), используйте модульные тесты. Если вы хотите проверить, как взаимодействие с этой таблицей влияет на другие элементы пользовательского интерфейса, используйте тесты пользовательского интерфейса. Для лучшего понимания тестирования в Xcode посмотрите эти видеоролики:

Вы не предоставили текст ошибки при запуске приложения cra sh, но я думаю, что вы пытались использовать API-интерфейсы тестирования пользовательского интерфейса XCTest в целевом объекте модульного тестирования.

...