pet*_*rmk 6 testing automation automated-tests puppeteer cypress
我有一个使用 Okta 登录的应用程序。我正在尝试使用 Cypress 和 Puppeteer 设置自动化测试。我遇到的问题是,当我使用 启动 puppeteer 时{headless: true},它没有填写登录表单。{headless: false}在 Cypress 之外打开另一个浏览器窗口并按预期工作。它填写登录表单,正确登录,但我无法在该窗口中运行任何 cypress 测试。
on('task', {
login({username, password}) {
return (async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto(config.baseUrl);
await page.waitForNavigation();
await page.waitFor('#okta-signin-username');
await page.type('#okta-signin-username', username, {delay: 100});
await page.waitFor('#okta-signin-password');
await page.type('#okta-signin-password', password, {delay: 100});
await page.click('#okta-signin-submit');
await page.waitForNavigation();
return true;
};
});
Run Code Online (Sandbox Code Playgroud)
以下是它的使用方式:
it('my test', () => {
cy.visit('/');
cy.viewport(1280, 1024);
cy.login('username', 'password');
//tests go here
});
Run Code Online (Sandbox Code Playgroud)
上面的代码打开 Chromium 并正确登录,但测试失败。它不会使用 {headless: true} 登录。我在这里错过了什么吗?任何帮助,将不胜感激。
谢谢
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |