mfrachet / cypress-audit

⚡ Run Lighthouse and Pa11y audits directly in your E2E test suites
https://mfrachet.github.io/cypress-audit/
MIT License
352 stars 43 forks source link

When cy.lighthouse() command is run, Cypress opens a new browser tab #234

Open cihanaygunes opened 10 months ago

cihanaygunes commented 10 months ago

Hi,

A similar issue has been reported earlier with #67. But I will try to elaborate the issue that I am having.

What does not work? I am working on implementing Cypress Lighthouse testing on my application with @cypress-audit/lighthouse plugin.

I followed the steps in here for installation and configuration.

The issue that I am having is that when lighthouse command is run, it opens a new browser tab and lighthouse report gets generated by running against the second tab.

Here are the steps that I make in lighthouse test.

1. I make a bunch of api calls to build a URL
2. Then that URL redirects to an authentication page where I input credentials and pass few more steps
3. Then land on the page page where I run lighthouse command

I pass the first 2 steps in Cypress spec file. When it comes to step 3, lighthouse command is run, however it opens a new browser tab with above-mentioned built URL in step one, and it redirects back to authentication page. So, the lighthouse test runs against the authentication page but not my application page.

How to reproduce? I think this is already there. Any test will open a new browser tab.

Expected behavior I expect lighthouse() command to run within the same Cypress browser instead of running on a separate browser tab or a way to pass the session information to the new tab.

Screenshots / Animated Gifs Main Page image

Second Tab image

Environment (please complete the following information):

Any other information that may help fixing the issue? Screenshots are belong to another url. I just wanted to show you the second tab is opened.

jennifer-shehane commented 10 months ago

Just for context on how Cypress works now, since we made changes on how tabs are handled. https://github.com/cypress-io/cypress/discussions/28337

It may be beneficial to update this plugin to use the @cypress/puppeteer plugin if it does need to interact in a new tab. I'm not completely familiar with the implementation, so just adding some info.

jenkma02 commented 4 months ago

@cihanaygunes just wondering if you ever got this to work? I have the puppeteer plugin installed, but I can't figure out how to have puppeteer control the new tab that opens with cypress audit because it opens and closes so fast.

biswabose1992 commented 2 months ago

Anyone had a solution to this? It open a new tab for me when running my lighthouse test in cypress