Это код для тестов:
//navigates to the new screen:
it("should show myFlatListScreen after tap", async () => {
await element(by.id("navigationButton")).tap();
await waitFor(element(by.id("myFlatListScreen"))).toBeVisible();
});
//Passes without issue:
it("FlatList should be visible", async () => {
await waitFor(element(by.id("myFlatList"))).toBeVisible();
});
//Fails with: "Cannot find UI element." error
it("FlatList should scroll", async () => {
await element(by.id('myFlatList')).scroll(100, 'down');
});
Как получается, что элемент может пройти тест toBeVisible()
, а затем не существует для прокрутки?
РЕДАКТИРОВАТЬ: Я понялэто из.перед ними есть код, который выглядит следующим образом:
beforeEach(async () => {
await device.reloadReactNative();
});
Приложение перезагружается с самого начала каждый раз, поэтому этот элемент больше не доступен.Похоже, я должен написать все свои тесты, чтобы они запускались с начала до конца для каждого.