Я новичок в тестировании пользовательского интерфейса и только начал изучать testCafe
Я пишу простой тест в testCafe, который go отправит в Google поиск в testCafe, нажмите кнопку отправки, затем нажмите в первом появившемся результате поиска и проверьте, является ли это страница testCafe:
import {Selector} from 'testcafe';
import {ClientFunction} from 'testcafe';
const getURL = ClientFunction(()=> window.location.href);
fixture `Getting Started`
.page `https://www.google.com/`;
test('Google Search test', async t =>{
await t
.typeText('input[name="q"]','testcafe')
.click('input[type="submit"]')
.click('div.r > a')
.expect(getURL()).eql("https://devexpress.github.io/testcafe/documentation/getting-started/")
})
Этот тест отлично работает с Chrome и Safari, однако Firefox слишком долго загружает домашнюю страницу Google , а он как-то не может найти кнопку input[type="submit"]
. Таким образом, тест не проходит. Мне кажется, что тест начинает выполняться еще до завершения pageLoad.
Вот ошибка, которая появляется в Firefox:
1) The element that matches the specified selector is not visible.
Browser: Firefox 75.0 / macOS 10.14
7 | .page `https://www.google.com/`;
8 |
9 |test('Google Search test', async t =>{
10 | await t
11 | .typeText('input[name="q"]','testcafe')
> 12 | .click('input[type="submit"]')
13 | .click('div.r > a')
14 | .expect(getURL()).eql("https://devexpress.github.io/testcafe/documentation/getting-started/")
15 |
16 |})
at <anonymous> (/Users/goplap/TestCafeTest/tests/sampleTest.js:12:6)
at <anonymous> (/Users/goplap/TestCafeTest/tests/sampleTest.js:9:1)
at <anonymous> (/Users/goplap/TestCafeTest/node_modules/testcafe/src/api/wrap-test-function.js:17:28)
at TestRun._executeTestFn (/Users/goplap/TestCafeTest/node_modules/testcafe/src/test-run/index.js:295:19)
at TestRun.start (/Users/goplap/TestCafeTest/node_modules/testcafe/src/test-run/index.js:345:24)
1/1 failed (18s)
Есть ли лучший способ написать этот тест?