Wie ändere ich eine URL in einem Cypress-Test?

Wie ändere ich eine URL in einem Cypress-Test?

Ich habe einen Cypress-Test geschrieben und um das Schreiben eines zweiten Tests zu vermeiden, möchte ich in der Lage sein, mit der resultierenden URL zwei Dinge zu tun:

1) Ich möchte es ändern, um es auf eine andere Seite zu zwingen

2) Während ich Nr. 1 mache, muss ich auch einen dynamischen Wert aus der URL extrahieren, der in der geänderten URL verwendet werden soll.

Ich habe cy.url(), weiß aber nicht, wie ich den benötigten Wert erfassen und als Variable festlegen kann. Kennt jemand eine Möglichkeit, dies zu tun? Ich bin ein neuer Programmierer und lerne noch JavaScript, daher könnte dies einfach sein und ich weiß nur nicht, wie ich es anstellen soll. Jeder Rat ist sehr willkommen!

Antwort1

Um Werte aus cy-Elementen zu extrahieren, müssen Sie Promises verwenden(dann Syntax). Die Arbeit mit JS-Asynchronität ist zunächst etwas entmutigend, aber keine Panik! Studieren Sie dieses Kernkonzept und Sie werden schnell lernen, wie Cypress funktioniert!

Um Frage Nr. 1 zu beantworten, könnten Sie Folgendes tun:

cy.url().then(urlValue => cy.visit(urlValue + '/about');

Das obige Beispiel extrahiert die aktuelle URL und Sie können sie in der nächsten Aktion verwenden. (Die URL wird als Argument einer Pfeilfunktion angezeigt und hier „URL-Wert“ genannt).

verwandte Informationen