У меня есть TestCafe, работающий в двух отдельных тестовых классах, в двух отдельных приборах, в двух отдельных тестах, тестирующих две разные страницы приложения.
Я замечаю, что при опросе объекта window.document
через ClientFunction
в этих тестах, в зависимости от порядка выполнения, я получаю разные значения.
например.
mytest1.js
import { Selector, ClientFunction } from 'testcafe';
fixture `Homepage`
.page `http://mypage.com`;
test('Test 1', async t => {
const getBodyHeight = ClientFunction(() => window.document.body.scrollHeight);
console.log(await getBodyHeight()) // 800px
});
mytest2.js
import { Selector, ClientFunction } from 'testcafe';
fixture `Dashboard`
.page `http://mypage.com/dashboard`;
test('Test 2', async t => {
const getBodyHeight = ClientFunction(() => window.document.body.scrollHeight);
console.log(await getBodyHeight()) // 1200px
});
Если я запускаю их, используя npm run testcafe -- firefox:headless mytest*.js
, и порядок уменьшается от высоты к высоте, консоль будет записывать:
...
800
...
1200
Однако, если я выполню их в обратном направлении (от большой высоты к меньшей высоте), я получу:
...
1200
...
1200
Как будто document.body
растягивается до максимального значения и не возвращается.
Есть ли способ использовать ClientFunction(..)
или, возможно, какие-либо другие средства для правильного сброса этих значений?