Cucumber Framework Migration - Bestehender Rest für Karate Framework
Ich arbeite als Automatisierungstester für Bankdomänenkonten. Ich habe eine Frage und brauche Ihre Hilfe.
Aktueller Ansatz:
1.Das Framework, das wir für API-Services-Tests verwenden, basiert auf Java - Serenity-Gurken-Framework mit Rest Assured.
2. Alle Aktivitäten zur Skriptentwicklung / Skriptwartung im Zusammenhang mit diesem Framework werden von den Automatisierungstestern in unserem Team durchgeführt.
3. Wenige Wochen zuvor haben wir das Karate-Framework kennengelernt und den PoC (Proof of Concept) abgeschlossen.
4. Alles lief gut und wir sind im Plan, unser bestehendes Java-Code-Framework für den versicherten Java-Code zu migrieren.
Der Grund für die Migration - Das Testen von Karate Framework Api-Diensten kann auch von manuellen Testern durchgeführt werden. Wir sind also im Plan für die Migration.
Abfrage
- Wir haben bereits fast 80 Webdienste entwickelt, die in Sicherheit sind und erfolgreich ausgeführt werden.
- Auch für die Migration sind alle Dienste voneinander abhängig. Daher müssen wir sowohl Res-Assured- als auch Karate-Framework-Code zusammen verwenden, es sei denn, er ist vollständig migriert.
- Es ist nicht möglich, alle Dienste sofort zu migrieren. Dies ist ein zeitaufwändiger Aufwand.
- Ist es möglich, Karate Framework und Rest Assured Java Code im selben Szenario auszuführen?
In der Karate-Feature-Datei angegebenes
Szenario : Angegebene urlCustomerservices
When-Methode erhalten
Then-Status 200
- def getCustIDfromUserservices = newcallJavaFunction (). getcustid ("Benutzer", "Passwort") gibt getCustIDfromUserservices aus
Diese "getcustid" haben den Rest versichert Java-Code für "Post" Anrufdienst, um die Kundennummer zu erhalten.
Wenn ich dies im Code-Karate-Framework ausführe, wird der folgende Fehler angezeigt: "io.restassured.internal.RequestSpecificationIMpl.invokeMethod (java / lang / String; Ljava / lang / object;) Ljava / lang / object;
Könnte mir dabei helfen. Ob wir sowohl Karate- als auch Rest Assured-Code zusammen im selben Szenario im Karate-Framework ausführen können? Wenn ja, warum wird dieser Fehler angezeigt, wenn versucht wird, die Antwort in "Sicher sein" zu erhalten.
Antworten
Zuerst werde ich sagen, dass dies nicht etwas ist, von dem wir behaupten, dass wir es unterstützen :) Sie sind also auf sich allein gestellt.
Das heißt, es klingt wie ein einfacher Bibliothekskonflikt. Ich vermute, Ihr bestehender Maven pom.xmlhat viele Bibliotheken im Umlauf. Sie müssen einige Nachforschungen anstellen und herausfinden, welchen Maven exclusionsSie ausführen müssen oder für welche Bibliotheken explizite Versionen angegeben werden müssen. Wenn Sie Glück haben, kann ein Wechsel von karate-apachezu karate-jerseyden Trick tun.
Außerdem empfehle ich dringend, einen Karate-Schnellstart zu erstellen und dann die zusätzlichen Dinge einzeln im "Hallo Welt" -Modus hinzuzufügen und zu sehen, was das Problem verursacht. Verwenden Sie den mvn dependency:treeBefehl und sehen Sie die Unterschiede zwischen einem Karate-Projekt und Ihrem. Wenn Sie wissen, wie man Maven-Profile verwendet, ist dies möglicherweise eine Möglichkeit. Alles Gute !
Im schlimmsten Fall greifen Sie auf 2 Maven-Module zurück und führen Sie 2 Testsuiten aus. Es ist in Ordnung und nicht das Ende der Welt. Sie können schrittweise migrieren.