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?
5 Réponses :
Il semble que cela devrait fonctionner (pas testé cependant):
cy.window().its({ timeout: 10000 }, 'MyClass')
ne semble pas fonctionner: "CypressError: cy.its () n'accepte qu'une chaîne comme premier argument."
Placez-le dans son bloc avant de vouloir l'utiliser:
Cypress.config('defaultCommandTimeout', 10000);
bien sûr, je pourrais avoir besoin de modifier le defaultCommandTimeout après avoir appelé la méthode its-Method
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); });
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
Pour moi, je fais juste ça là où je voulais attendre
cy.get('ELEMENT', {timeout:50000})
La commande
its
n'accepte aucun argument autre quepropertyName
. S'il est appelé avec plus que cela, il renonce avec une erreur: github.com/cypress-io/cypress/blob / ...