Cypress can't open popup windows in headless Chrome - google-chrome

I'm new to Cypress and recently started implementing e2e tests for our system. A peculiarity of this system is that the authentication happens on a popup window.
I've already successfully created a simple test that loads the site, waits for the authentication to complete and then asserts that the page title is shown. This test runs without errors using the cypress client (cypress open), but when I run it in headless mode (cypress run --headless) the test fails.
When I see the video from the headless run, I don't see the popup window appear like it does when I run it with the GUI. Has anyone else had an issue like this where popup windows don't show on headless mode?
I also found this bug on the Chromium site related to issues displaying popup windows in headless mode, so it might be related to that, but the bug appears as closed.
I'm using Cypress 6.1.0 and Chrome 87
Thanks in advance for any help.

This was being caused by an issue with the integration of my website with another service that for some reason only occurred on headless mode. After fixing that, it works ok.

Related

How to run Chromedriver in Java Selenium in BOTH headless and incognito?

The problem I am trying to solve is to login into a site that has SSO. I will need to login with different credentials at times so I don't want to SSO in. Therefore, I will open up an incognito tab in Chrome so the SSO login popup will show up every time: chromeOptions.addArguments("incognito"); This works fine when I am running not in a headless mode and using Java Robot to input the credentials.
However, when I run this in headless mode: chromeOptions.addArguments("headless"); I am back to square one where I got SSO'd in into my personal account without the manual control of inputting in different credentials. That's not what's happening when I have incognito in non-headless mode.
How exactly do I configure my Chromedriver through Java to be BOTH headless and incognito?
I need headless mode because I need to run this inside a Docker container.

Can Google Chrome simulate standalone mode on the desktop?

I needed to debug a PWA that throws an error only when running in standalone mode, this PWA worked fine on the same device but when opened from Google Chrome directly.
I was debugging this web app by connecting from the desktop's Chrome developer tools with USB debugging enabled, but this was quite slow, as I had to build the PWA and publish it to be able to check the changes that I've made because this error was not thrown in development mode (The app is built using Nuxt.js).
That error was related to a code that checks if the web app is running in standalone mode:
window.matchMedia('(display-mode: standalone)').matches
I have resolved the issue but is there a way to simulate this display-mode: standalone from Google Chrome on the desktop?

chrome kiosk mode in windows 10, proper way to close chrome

we have an C# backend that launches and integrates with a chrome webapp in kiosk mode. we have a message that is executed from webapp that tells the backend to close chrome and show the backend ui (a service ui).
This works fine, but we are using Process.Kill to close chrome. We've got other issues that we believe that may be related to left overs from the harsh closing of chrome.
What is the proper way to close chrome, once Kiosk mode has been entered?

Chrome crashes with Selenium in robot Framework

Our team are working on a automation project with Chrome and we are facing a problem regarding to Chrome.
We have like 1000 scripts with so many test suite, each test suite setup is opening Chrome Webdriver process and at the end - Suite teardown will close and end the Chrome Webdriver.
But sometime, Chrome (or Chrome driver) crashes with 2 common reasons (I didnt captured the correct issue but when I face it again, I will report here).
This make the other suites fail, because they cannot open Chrome again.
About this issue, have anyone dealed with it before? Could you please give me a suggestion to resolve it?

Chromedriver times out after login

I am trying to run UI tests on Selenium. The website runs on SSL. When using Chromedriver, after login, the page keeps on loading and shows "Establishing secure connection" and then eventually times out. Chrome also shows the yellow triangle before the URL in the browser. However, I don't see the yellow triangle when I log into the website using Chrome outside of this. I further noticed that the standard settings in Chrome are not the same as the Chrome instance that opens up when Chromedriver fires it, not sure why.
Can someone tell me what might be going on here and how I can fix the issue?
It may be chromedriver issue. Try to downgrade it. Version 2.12 helped us with similar problem.
https://sites.google.com/a/chromium.org/chromedriver/downloads