Я пишу тесты, используя Puppeteer и Jest. В одном из тестов я пытаюсь убедиться, что текстовое содержимое элемента с идентификатором: "#summaryShortDescription" было обновлено правильно. #summaryShortDescription следует изменить, чтобы он содержал тот же текст, что и "#inputFieldWithWordCount", когда для "#inputFieldWithWordCount" указано тип. Этот тест не проходит с:
Ожидается: "" Получено: "Это краткое описание"
Когда я запускаю кукловод в режиме без головы: ложь, я вижу, что все выглядит правильно. В этом случае #summaryShortDescription не является пустым, но содержит текст: «Это краткое описание»
Почему тест не пройден?
test('user can write text in TextField and see results on summary ', async () => {
//Setup
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://localhost:3000/');
await page.type('#inputFieldWithWordCount', 'This is a short description');
const text = await page.evaluate(() =>
[...document.querySelectorAll('#inputFieldWithWordCount')].map(el => el.innerText),
);
const shortDescription = text[0];
await page.evaluate(() =>
[...document.querySelectorAll('button')].map(
elem => elem.innerText === 'Summary' && elem.click(),
),
);
const summaryShortDescription = await page.$eval(
'#summaryShortDescription',
el => el.textContent,
);
const summaryOfProject = await page.$eval('#summaryOfProject', el => el.textContent);
expect(summaryShortDescription).toEqual(shortDescription);
});