Testcafe как перезагрузить актуальную страницу - PullRequest
2 голосов
/ 15 мая 2019

Есть ли способ перезагрузить фактически проверенную страницу, которую я посещаю в TestCafe, а не сайт, на котором запущен TestCafe. Я пытался использовать:

await t.eval(() => location.reload(true));

но это просто перезагружает страницу сервера, которую использует Testcafe. Так, например, если я тестирую www.google.com, URL-адрес в браузере после запуска TestCafe будет выглядеть примерно так: http://172.16.0.152:58486/Qf6eMxOvA/https:/www.google.com/ Это сайт, который перезагружается, когда я выполняю код выше. Есть ли способ заставить просто перезагрузить www.google.com для симуляции перезагрузки тестируемой страницы?

1 Ответ

1 голос
/ 16 мая 2019
await t.eval(() => location.reload(true));

Вы правы, вы должны использовать приведенный выше код для перезагрузки вашей тестовой страницы.

Пожалуйста, посмотрите следующий пример .Пример работает должным образом: мы проверяем значение локального хранилища после перезагрузки страницы.

test.js:

import { ClientFunction } from 'testcafe';

fixture `fixture`
  .page `http://devexpress.github.io/testcafe/example`;

const getLocalStorageItem = ClientFunction(key => localStorage.getItem(key));

test('local storage', async t => {
  await t.eval(() => localStorage.setItem('key', 'value'));
  await t.expect(getLocalStorageItem('key')).eql('value');
  await t.wait(2000);
  await t.eval(() => location.reload(true));
  await t.wait(2000);
  await t.expect(getLocalStorageItem('key')).eql('value');
});

Результат:

Running tests in:
- Chrome 74.0.3729 / Windows 10.0.0

fixture
√ local storage


1 passed (9s)
...