Giter Site home page Giter Site logo

Comments (10)

JohnnyDevNull avatar JohnnyDevNull commented on June 3, 2024 1

@JohnnyDevNull, could you please try installing this pre-release binary to see if it helps with the timeouts:

npm install https://cdn.cypress.io/beta/npm/13.7.4/linux-x64/mschile/service_worker_uncontrolled-446d5ea752383bc68ac73b0a9a8fe87d0428be7d/cypress.tgz

I'm going to try this out and come back with some feedback.

@mschile is there a way to integrate that into the factory docker image?
https://hub.docker.com/r/cypress/factory/

As I've described our CI/CD setup uses the factory image, so I need to run the tests on that specific pre-release right?

from cypress.

jennifer-shehane avatar jennifer-shehane commented on June 3, 2024

@JohnnyDevNull Are you recording to the Cypress Cloud? If so,

  • Could you provide a URL to a Cloud recording on 13.6.3 and one on 13.7.3?
  • If you update to 13.7.3 and disable Test Replay, do the timeouts stop?
  • Also any info on how you're registering or using the ServiceWorker might be helpful.

We're actively investigating these types of performance issues. This information will help us narrow down the use case.

from cypress.

jennifer-shehane avatar jennifer-shehane commented on June 3, 2024

@JohnnyDevNull Oh! Also, could you run Cypress in debug mode mode and print the entire set of logs here?

from cypress.

mschile avatar mschile commented on June 3, 2024

@JohnnyDevNull, could you please try installing this pre-release binary to see if it helps with the timeouts:

npm install https://cdn.cypress.io/beta/npm/13.7.4/linux-x64/mschile/service_worker_uncontrolled-446d5ea752383bc68ac73b0a9a8fe87d0428be7d/cypress.tgz

from cypress.

JohnnyDevNull avatar JohnnyDevNull commented on June 3, 2024

@JohnnyDevNull Are you recording to the Cypress Cloud? If so,

  • Could you provide a URL to a Cloud recording on 13.6.3 and one on 13.7.3?
  • If you update to 13.7.3 and disable Test Replay, do the timeouts stop?
  • Also any info on how you're registering or using the ServiceWorker might be helpful.

We're actively investigating these types of performance issues. This information will help us narrow down the use case.

Hi @jennifer-shehane,

wer not using the Cypress Cloud, again because of restrictions. Our test are getting executed within our TeamCity and Docker environment, but here is how we are registering the ServiceWorker:

if ('serviceWorker' in navigator) {
  window.addEventListener('load',  () => {
    navigator.serviceWorker.register('/service-worker.js', {
      scope: '/'
    })
      .then(registration => {
        registration.update();
      })
      .catch((error) => {
        console.error(`Service worker registration failed with ${error}`);
      });
  });
}

The ServiceWorker ist used mainly for checking the app version which is saved to the IndexedDB

self.addEventListener('fetch', (event) => {
  if(!self.indexedDB) {
    return;
  }

  if (!appVersionDbInstance) {
    // Sometimes the database instance disappears and we need to set it again.
    return event.waitUntil(setDatabaseInstance());
  }

  if (!event.request.url.startsWith(self.location.origin)) {
    return;
  }

  return event.respondWith(
    getCurrentAppVersion()
      .then(function (currentAppVersion) {
        const modifiedHeaders = new Headers(event.request.headers);
        modifiedHeaders.set(RED_VERSION_HEADER, currentAppVersion || '');
        const modifiedRequest = new Request(event.request, { headers: modifiedHeaders, mode: 'same-origin' });
        return fetch(modifiedRequest);
      })
    .catch(error => logError(error)));
});

I hope this helps a little bit.

from cypress.

JohnnyDevNull avatar JohnnyDevNull commented on June 3, 2024

@JohnnyDevNull Oh! Also, could you run Cypress in debug mode mode and print the entire set of logs here?

I'm going to try this out and come back with some feedback.

from cypress.

JohnnyDevNull avatar JohnnyDevNull commented on June 3, 2024

@JohnnyDevNull, could you please try installing this pre-release binary to see if it helps with the timeouts:

npm install https://cdn.cypress.io/beta/npm/13.7.4/linux-x64/mschile/service_worker_uncontrolled-446d5ea752383bc68ac73b0a9a8fe87d0428be7d/cypress.tgz

I'm going to try this out and come back with some feedback.

from cypress.

JohnnyDevNull avatar JohnnyDevNull commented on June 3, 2024

@JohnnyDevNull, could you please try installing this pre-release binary to see if it helps with the timeouts:

npm install https://cdn.cypress.io/beta/npm/13.7.4/linux-x64/mschile/service_worker_uncontrolled-446d5ea752383bc68ac73b0a9a8fe87d0428be7d/cypress.tgz

I'm going to try this out and come back with some feedback.

Hey @mschile it looks very promising. I've run a single file locally in headless mode:

Version 13.7.3
Bildschirmfoto 2024-04-16 um 14 42 20

Version 13.7.4
Bildschirmfoto 2024-04-16 um 14 42 28

from cypress.

JohnnyDevNull avatar JohnnyDevNull commented on June 3, 2024

@JohnnyDevNull Oh! Also, could you run Cypress in debug mode mode and print the entire set of logs here?

I'm going to try this out and come back with some feedback.

Hey @jennifer-shehane,

I've activated locally for a single suite the DEBUG mode as following:

DEBUG=cypress:* npm run nx -- e2e client-e2e-cypress --dev-server-target= --spec=apps/client-e2e-cypress/src/e2e/administration/begruendungen.cy.ts --skip-nx-cache 2>&1 | aha --black | tee cypress-debug-run-1.html

But to be hones the logs are very much. Is there a specific log level which would be enough here? I mean for our specific use case?

I uploaded the logs to my google drive here: https://drive.google.com/drive/folders/1Q2msc40mnzDvS-eJWgfE7Kza9vMUfCpx?usp=sharing

Please request access and I'm going to open to you.

from cypress.

cypress-bot avatar cypress-bot commented on June 3, 2024

Released in 13.8.1.

This comment thread has been locked. If you are still experiencing this issue after upgrading to
Cypress v13.8.1, please open a new issue.

from cypress.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.