У меня есть набор файлов в папке с указанными c именами, и я использую node, чтобы вернуть мне имена этих файлов, а затем для каждого файла я хочу запустить тест кукольника, который заполняет форму и отправляет ее, но Кажется, у меня проблемы с forEach, не дожидаясь, пока предыдущий тест завершит sh, и в итоге получил множество Execution context was destroyed
, что, очевидно, мешает моим тестам завершиться. В итоге пользователи вошли в систему, но в некоторых случаях страница page.type
не запускается ...
Как мне дождаться, пока кукольник завершит тест, а затем запустить следующий элемент в forEach?
См. код ниже:
fs.readdir(testFolder, async (err, files) => {
files.forEach(file => {
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
page.setViewport({
width: 1920,
height: 1080
});
await page.goto('www.mypage.com');
//login
// some login code here
await page.click('#register')
await page.waitForNavigation();
console.log('New Page URL:', page.url());
await page.waitForSelector('#firstName');
await page.waitFor(1000);
await page.type('#firstName', file);
// register and wait for nagivation (in my case it is a page reload)
await page.waitForSelector('#updateProfile');
await page.click('#updateProfile');
await page.waitForNavigation();
await browser.close();
})();
});
});