5
votes

Augmenter le délai d'expiration pour sa méthode spécifique de cypress.io

Avec cypress.io get-Method, nous pouvons définir un délai d'expiration uniquement valide pour cet appel de méthode get spécifique:

cy.window().its('MyClass')

Existe-t-il un moyen de définir un délai d'expiration pour un appel à sa méthode spécifique comme:

cy.get('.mobile-nav', { timeout: 10000 })

Ou dois-je augmenter defaultCommandTimeout dans cypress.json?


1 commentaires

La commande its n'accepte aucun argument autre que propertyName . S'il est appelé avec plus que cela, il renonce avec une erreur: github.com/cypress-io/cypress/blob / ...


5 Réponses :


-1
votes

Il semble que cela devrait fonctionner (pas testé cependant):

cy.window().its({ timeout: 10000 }, 'MyClass')


1 commentaires

ne semble pas fonctionner: "CypressError: cy.its () n'accepte qu'une chaîne comme premier argument."



10
votes

Placez-le dans son bloc avant de vouloir l'utiliser:

Cypress.config('defaultCommandTimeout', 10000);

Documentation sur Cypress.config ()


1 commentaires

bien sûr, je pourrais avoir besoin de modifier le defaultCommandTimeout après avoir appelé la méthode its-Method



2
votes

Sur la base de la réponse de Joel , voici ce que j'ai fait pour restaurer le délai d'expiration par défaut juste après:

const DEFAULT_COMMAND_TIMEOUT = Cypress.config().defaultCommandTimeout;

// there's no easy way to increase the timeout when using
// `its` command therefore we need to save the current
// timeout, change it globally, and restore it after
Cypress.config('defaultCommandTimeout', 15000);

return cy
  .window()
  .its('something')
  .should('exist')
  .then(() => {
    Cypress.config('defaultCommandTimeout', DEFAULT_COMMAND_TIMEOUT);
  });


0 commentaires

1
votes

Je préfère définir un délai d'expiration pour un test spécifique au lieu de modifier la configuration globale.

it('should do something', {
  defaultCommandTimeout: 10000
}, () => {
  // ...
})

https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests.html#Allowed-config-values


0 commentaires

0
votes

Pour moi, je fais juste ça là où je voulais attendre

cy.get('ELEMENT', {timeout:50000})


0 commentaires