Запускать перед хуком для каждого браузера - PullRequest
2 голосов
/ 17 октября 2019

В TestCafé я хочу запустить тест в разных браузерах параллельно. Каждый сеанс должен зарегистрироваться и войти под своей учетной записью.

Я пытался добиться этого с помощью хука before:

let user = null;

fixture("My fixture")
  .page("http://localhost:8080")
  .before(() => {
    user = faker.internet.email();
  });

test("login", async t => {
  // using user in here
});

Однако этот хук просто выполняется один раз для все браузеры, мне нужно запустить его для каждого браузера, чтобы каждый раз иметь разные учетные данные.

Возможно ли это?

Это скрипт NPM:

testcafe firefox,chrome,edge tests.js

Ответы [ 2 ]

4 голосов
/ 17 октября 2019

Да, для этого вы можете использовать крючок beforeEach.
https://devexpress.github.io/testcafe/documentation/test-api/test-code-structure.html#test-hooks

3 голосов
/ 18 октября 2019

Я пересмотрел это решение и думаю, что вы можете использовать функцию TestCafe Роли пользователя в вашем сценарии. Вы можете создать отдельные роли для разных браузеров, а затем выбрать одну из них в хуке beforeEach на основе строки userAgent. Вот пример как получить userAgent с помощью клиентской функции.

...