Erstellen eines neuen Cypress Tests mit Selenium und ChatGPT

Schreiben eines neuen Cypress Tests mit Selenium und Chat GPT

Beispiel: Testen der Login Funktion im Scheurich Shop

Benötigt werden:

Bitte schreibe mir aus einem Javascript Mocha Dokument ein Cypress Script. Nach dem Öffnen einer URL und dem Click eines Buttons soll 2 Sekunden gewartet werden. Für Adressdaten, Email, Passwort etc kann auf eine Fixture Datei mit dem Namen address_data.json zugegriffen werden. Darin enthalten sind folgende Daten:

{

  “firstname”: “Jesko CY”,

  “lastname”: “Testbestellung”,

  “email”: “cytestbotconstancy@gmail.com”,

  “street”: “Teststraße 5”,

  “postcode”: “12345”,

  “city”: “Jena”,

  “vat_id”: “DE263322098”,

  “firma”: “Testfirma”,

  “phone”: “1234567890”

}

Es ist sehr wichtig nach jedem Click und Visit einen CY.wait von 2 Sekunden einzubauen. Jeder Klick muss zudem ein Force:true.

Zudem müssen zu Beginn nach dem ersten Aufruf des Shops immer die Cookies akzeptiert werden:

cy.get(‘.-allow’).click({force:true})

cy.wait(2000)

 

Wichtig ist, dass ich dir ein Script gebe, das du nur umformen musst. Du sollst dir keinen eigenen Test ausdenken, bitte nur von Javascript Mocha in Cypress „übersetzen“.

Hast du die Anweisungen verstanden?

 

Beispieltest:

  • Testen des Kundenlogins mit Nutzer cytestbotconstancy@gmail.com auf Scheurich-shop.de
    • Aufrufen des Scheurich Shops https://www.scheurich-shop.de/
    • Klick auf Anmelden
    • Eingabe der Email
    • Eingabe des Passsworts
    • Klick auf Anmelden
    • Im Element #maincontent > div.columns > div.column.main > div.block.block-dashboard-info > div.block-content > div.box.box-information > div.box-content > p soll der Text Jesko Testbestellung enthalten sein

 

Ablauf des Tests:

  • Ggbfs Cookies löschen, da Selenium mit aktuellen Cookies arbeitet, Cypress aber nicht
  • Starten des Plugins Selenium
  • Record a new test in a new project
  • Testbezeichnung und Scheurich URL eingeben
  • Start Recording
  • Test manuell durchführen
  • Selenium Fenster wieder aufrufen und auf Stop klicken (Oben rechts, rotes Symbol)
  • Test nochmal benennen
  • Neben dem Test auf die drei Punkte klicken und Export auswählen
  • Exportieren als JavaScript Mocha
  • Datei Sichern und mit Sublime öffnen
  • In Chat GPT Prompt nutzen (s.o.)
  • JavaScript Mocha Skript an Chat GPT geben
  • Prüfung auf den Inhalt eines CSS Selektors eingeben
  • Chat GPT gibt fertiges Skript aus:

 

describe('scheurich_login_v2', () => {

  beforeEach(() => {

    cy.fixture('address_data.json').as('userData')

    cy.visit('https://www.scheurich-shop.de/')

    cy.get('.-allow').click({ force: true })

    cy.wait(2000) // Warten nach dem Akzeptieren der Cookies

  })

 

  it('scheurich_login_v2', function() {

    const { email, password } = this.userData

 

    cy.get('a:contains("Anmelden")').click({ force: true })

    cy.wait(2000) // Warten nach dem Klicken auf "Anmelden"

 

    cy.get('#email').click({ force: true }).type(email)

    cy.get('#pass').click({ force: true }).type(password)

 

    cy.get('.primary:nth-child(1) > #send2 > span').click({ force: true })

    cy.wait(2000) // Warten nach dem Einloggen

 

    // Überprüfung, ob der Text des Selektors den Begriff "Testbestellung" enthält

    cy.get('.box-information > .box-content > p').should('contain', 'Testbestellung')

  })

})

 

Das Skript kann nun in Cypress genutzt werden und funktioniert. Ggbfs sollten aus Performance Gründen die cy.wait Befehle reduziert werden. Der Standard aus 2000 ms wird eingefügt, da einige Seiten durchaus lange laden könnten.

Schreibe einen Kommentar

Menü schließen