Testing 与cypress/木偶演员一起登录
我有一个使用Okta登录的应用程序。我正在尝试使用Cypress和Puppeter建立一个自动化测试。我遇到的问题是,当我使用Testing 与cypress/木偶演员一起登录,testing,automation,automated-tests,puppeteer,cypress,Testing,Automation,Automated Tests,Puppeteer,Cypress,我有一个使用Okta登录的应用程序。我正在尝试使用Cypress和Puppeter建立一个自动化测试。我遇到的问题是,当我使用{headless:true}启动Puppeter时,它不会填写登录表单{headless:false}在Cypress之外打开另一个浏览器窗口,并按预期工作。它填写登录表单,正确登录,但我无法在该窗口中运行任何cypress测试 on('task', { login({username, password}) { return (async () =>
{headless:true}
启动Puppeter时,它不会填写登录表单{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;
};
});
以下是它的使用方式:
it('my test', () => {
cy.visit('/');
cy.viewport(1280, 1024);
cy.login('username', 'password');
//tests go here
});
上面的代码打开Chromium并正确登录,但测试失败。它不会使用{headless:true}登录。我是不是遗漏了什么?
任何帮助都将不胜感激
谢谢