在将Puppeter和Cypress结合使用以解决Azure AD登录问题时,登录页面没有出现,因此我尝试使用Puppeteer在Cypress中进行登录。当我运行“ cypress open”时,cy.task超时
这是我的插件/索引文件:
module.exports = (on) => {
on('task', {
getToken: getAadToken,
});
};
async function getAadToken() {
return new Promise((resolve, reject) => {
const creds= puppeteer.launch({ headless: true }).then(async browser => {
try {
const page = await browser.newPage();
await page.goto('url');
// await page.click(
// "LOGINBUTTON"
// );
await page.waitFor(2000);
await page.click("input[class=username]");
browser.close();
return resolve(creds)
} catch (error) {
console.log(error);
browser.close();
}
});
这是step.ts中的用法:
Then('Puppeteer launch', () => {
cy.task(('getToken')).then((e) => {
});
});