Testing 与cypress/木偶演员一起登录

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 () =>

我有一个使用Okta登录的应用程序。我正在尝试使用Cypress和Puppeter建立一个自动化测试。我遇到的问题是,当我使用
{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}登录。我是不是遗漏了什么? 任何帮助都将不胜感激

谢谢