Я пытаюсь написать функциональный тест, чтобы проверить, существует ли ссылка и массив элементов, что ссылка открывается успешно.
Я застреваю в первых нескольких шагах теста.
"testcafe": узел "^ 0.22.0" v8.11.2 работает в Chrome
Яиспользуя клиентскую функцию для обработки прокрутки во время теста:
import { Selector, ClientFunction } from 'testcafe';
const scrollTo = ClientFunction(top => {
window.scrollTo(0, top);
window.dispatchEvent(new Event('scroll'))
});
fixture(`Given user is in fund story chapter 4 for symbol GOBAX`)
.page(`http://localhost:8080/#/fund-story/gobax/5`);
test(`User verifies that the ESG report link in the tooltip of each Top Holdings ESG Scores datapoint, opens successfully`, async testController => {
const section = Selector('#section-esg-top-holdings');
const top = await section.offsetTop;
await scrollTo(top);
await testController.wait(3000);
})
На странице существует раздел, и клиентская функция успешно прокручивает элемент.Я даже пытался принудительно отправить событие, но обратный вызов в компоненте не сработал.Обратный вызов в компоненте для события прокрутки окна запускает больше элементов для отображения на странице после выполнения некоторых вычислений, чтобы убедиться, что раздел находится в поле зрения.
Если я использую window.scrollTo (0, top);где top = y позиция раздела, внутри инструментов разработчика Chrome, событие инициируется и дополнительные элементы отображаются.
Это ошибка testCafe или я пропустил что-то в тесте, которое успешно вызвало бысобытие?