Cypress TP
· 2.7 KiB · Text
Raw
describe('template spec', () => {
it('passes', () => {
cy.visit('https://magali-contensin.pedaweb.univ-amu.fr/extranet/imdb/films/year/2000/genre/action')
// cy.title() récupère le titre de la page HTML (contenu de l’élément title)
// Le . permet de chaîner : le résultat de title() est utilisé par should
// L’assertion should vérifie que la valeur de title est exactement Films
// eq est une abréviation de equal (égalité stricte)
cy.title().should('eq', 'Films')
// cy.get(sel) sélectionne les éléments du DOM correspondant au sélecteur CSS
// Il y a un seul h1 dans la page => un seul élément retourné par cy.get('h1')
// L’assertion should vérifie que le texte du h1 est 'Liste des films'
cy.get('h1').should('contain.text', 'Liste')
// 4. Vérifier que le champ du formulaire existe pour saisir l’année
cy.get('input[id="year_exact"]').should('exist')
// 5. Vérifier qu’il y a un select pour saisir le genre
cy.get('select[id="genre"]').should('exist')
// 6. Vérifier la présence du bouton d’envoi du formulaire de recherche
cy.get('button[type="submit"]').should('exist').should('contain.text', 'Rechercher')
// 7. Remplir le champ année du formulaire avec l’année 1980
cy.get('input[id="year_exact"]').clear().type('1980')
// 8. Choisir le genre Action
cy.get('select[id="genre"]').select('Action')
// 9. Cliquer sur le bouton « Rechercher »
cy.get('button[type="submit"]').filter(':contains("Rechercher")').click()
// 10. Vérifier que le résultat comporte un film dont le titre contient « The Empire Strikes Back »
cy.get('div[class="card-body"]').contains("The Empire Strikes Back")
// 11. Cliquer sur le lien qui montre le casting pour ce film
cy.get('div[class="card-body"]').get('h5').filter(':contains("The Empire Strikes Back")').parent().find('a[title="Voir le casting"]').click()
// 12. Vérifier que la page chargée contient /film/ dans l’URL
cy.url().should('include', '/film/')
// 13. Vérifier que la page affichée contient exactement le titre h3 Distribution
cy.get('h3').should('have.text', 'Distribution')
// 14. Cliquer sur le 2e acteur affiché (Harrison Ford)
cy.get('div[class="card-body"]').get('a').filter(':contains("Harrison Ford")').click()
// 15. Vérifier que la page chargée contient /person/ dans l’URL
cy.url().should('include', '/person/')
// 16. Cliquer sur le lien du film Blade Runner
cy.get('div[class="card-body"]').get('a').filter(':contains("Blade Runner")').eq(0).click()
// 17. Vérifier que le titre du film affiché contient Blade Runner
cy.get('h3').should('contain.text', 'Blade Runner')
})
})
| 1 | describe('template spec', () => { |
| 2 | it('passes', () => { |
| 3 | cy.visit('https://magali-contensin.pedaweb.univ-amu.fr/extranet/imdb/films/year/2000/genre/action') |
| 4 | |
| 5 | // cy.title() récupère le titre de la page HTML (contenu de l’élément title) |
| 6 | // Le . permet de chaîner : le résultat de title() est utilisé par should |
| 7 | // L’assertion should vérifie que la valeur de title est exactement Films |
| 8 | // eq est une abréviation de equal (égalité stricte) |
| 9 | cy.title().should('eq', 'Films') |
| 10 | |
| 11 | // cy.get(sel) sélectionne les éléments du DOM correspondant au sélecteur CSS |
| 12 | // Il y a un seul h1 dans la page => un seul élément retourné par cy.get('h1') |
| 13 | // L’assertion should vérifie que le texte du h1 est 'Liste des films' |
| 14 | cy.get('h1').should('contain.text', 'Liste') |
| 15 | |
| 16 | // 4. Vérifier que le champ du formulaire existe pour saisir l’année |
| 17 | cy.get('input[id="year_exact"]').should('exist') |
| 18 | |
| 19 | // 5. Vérifier qu’il y a un select pour saisir le genre |
| 20 | cy.get('select[id="genre"]').should('exist') |
| 21 | |
| 22 | // 6. Vérifier la présence du bouton d’envoi du formulaire de recherche |
| 23 | cy.get('button[type="submit"]').should('exist').should('contain.text', 'Rechercher') |
| 24 | |
| 25 | // 7. Remplir le champ année du formulaire avec l’année 1980 |
| 26 | cy.get('input[id="year_exact"]').clear().type('1980') |
| 27 | |
| 28 | // 8. Choisir le genre Action |
| 29 | cy.get('select[id="genre"]').select('Action') |
| 30 | |
| 31 | // 9. Cliquer sur le bouton « Rechercher » |
| 32 | cy.get('button[type="submit"]').filter(':contains("Rechercher")').click() |
| 33 | |
| 34 | // 10. Vérifier que le résultat comporte un film dont le titre contient « The Empire Strikes Back » |
| 35 | cy.get('div[class="card-body"]').contains("The Empire Strikes Back") |
| 36 | |
| 37 | // 11. Cliquer sur le lien qui montre le casting pour ce film |
| 38 | cy.get('div[class="card-body"]').get('h5').filter(':contains("The Empire Strikes Back")').parent().find('a[title="Voir le casting"]').click() |
| 39 | |
| 40 | // 12. Vérifier que la page chargée contient /film/ dans l’URL |
| 41 | cy.url().should('include', '/film/') |
| 42 | |
| 43 | // 13. Vérifier que la page affichée contient exactement le titre h3 Distribution |
| 44 | cy.get('h3').should('have.text', 'Distribution') |
| 45 | |
| 46 | // 14. Cliquer sur le 2e acteur affiché (Harrison Ford) |
| 47 | cy.get('div[class="card-body"]').get('a').filter(':contains("Harrison Ford")').click() |
| 48 | |
| 49 | // 15. Vérifier que la page chargée contient /person/ dans l’URL |
| 50 | cy.url().should('include', '/person/') |
| 51 | |
| 52 | // 16. Cliquer sur le lien du film Blade Runner |
| 53 | cy.get('div[class="card-body"]').get('a').filter(':contains("Blade Runner")').eq(0).click() |
| 54 | |
| 55 | // 17. Vérifier que le titre du film affiché contient Blade Runner |
| 56 | cy.get('h3').should('contain.text', 'Blade Runner') |
| 57 | }) |
| 58 | }) |