Я заметил, что в приведенном примере вы не указали стартовую страницу для прибора или теста. Это может быть причиной ошибки.
Пример TestCafe, который вы упомянули, делает следующее:
- Создает экземпляр
RequestLogger
, который отслеживает запросы (заголовки и тело) к той же странице, на которой начинается тест.
- Нажмите кнопку, чтобы начать загрузку файла.
- Ожидание ответа сервера об успешном выполнении.
- Сохраняет тело ответа в файл.
Параметр url
в объекте фильтра соответствует странице, на которую отправляется запрос ( документация ), и не должен совпадать с URL тестируемой страницы.
Вы можете изменить элемент на странице, используя ClientFunction со стандартным веб-API. Для начала вы можете взять следующий код:
import { Selector, ClientFunction } from 'testcafe'
const link = Selector('a');
const removeTarget = ClientFunction(() => {
link().removeAttribute('target');
}, { dependencies: { link } })
fixture`Fixture name`
.page`https://your_page.com/`;
test('Remove target', async t => {
await removeTarget();
});