J'utilise Cypress pour tester mon application Web.Test d'une redirection vers une nouvelle route avec Cypress
Cet extrait travaille actuellement et présentera une chose nouvelle:
describe('The Create Page',() => {
it('successfully creates a thing',() => {
cy.visit('/create')
cy.get('input[name=description]').type('Hello World')
cy.get('button#submit')
.click()
// After POST'ing this data via AJAX, the web app then
// receives the id of the new thing that was just created
// and redirects the user to /newthing/:id
// How do I test that this redirection worked?
})
})
Comme le commentaire illustre, je ne suis pas sûr de savoir comment vérifier si oui ou non la redirection vers les nouveaux travaux de route. Je peux le voir dans la simulation du navigateur que la redirection fonctionne, je veux juste ajouter un test pour cela.
Merci !!!
Alors ... Ce serveur que mon application web est POST'ing à pourrait prendre un temps looooooongues pour répondre (comme plus de dix secondes) ... Je encore obtenir cette erreur: CypressError: Timed out retrying: attendu '/ create' pour égaler '/ newthing /: id' ... Puis-je changer combien de temps cypress va continuer à essayer une chose? Aussi, merci pour l'aide, vraiment l'apprécier !!! – SeanPlusPlus
Oui. Vous pouvez lire comment ces tentatives chronométrées fonctionnent en détail [ici] (https://on.cypress.io/introduction-to-cypress#Applying-Timeouts). Essentiellement, Cypress vérifie continuellement le chemin de l'emplacement jusqu'à ce qu'il corresponde à votre assertion ('/ newthing /: id') ou jusqu'à ce qu'il expire. Le délai d'attente par défaut est de 4000ms. Vous pouvez augmenter cette durée en passant une option timeout à 'cy.location()' comme ceci: 'cy.location ('pathname', {timeout: 10000}). Should ('eq', '/ newthing /: id') ' –
Bingo !!! Le délai d'attente fonctionne. Merci beaucoup! – SeanPlusPlus