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
itsn'accepte aucun argument autre quepropertyName. S'il est appelé avec plus que cela, il renonce avec une erreur: github.com/cypress-io/cypress/blob / ...