Einer der Dienste, die ich mit Jmeter testen werde, hat einen komplexen Autorisierungsmechanismus, der einige CS-basierte Schritte (JavaScript) erfordert. Um eine Sitzung einzurichten, muss ich WebDriver verwenden, da Jmeter JS nicht verarbeiten kann (und auch nicht sollte).Erfassen von WebDriver-Anfragen in Jmeter
Ich mache es auf folgende Weise: am Anfang jedes Threads öffne ich die Ressource im echten Browser (über Jmeter WebDriver Plugin), vervollständige die Autorisierung, speichere Browser Cookies, die vom Server eingerichtet wurden und benutze diese Cookies dann Generieren von Ladevorgängen unter Verwendung der Standard-Jmeter-Logik innerhalb einer definierten HTTP-Sitzung.
Dieses Schema funktioniert gut und ich verwende es erfolgreich in verschiedenen Belastungstests.
Aber jetzt erfordert der Dienst, den ich test, nicht nur Cookies, sondern auch einige wichtige Parameter, die der Browser in POST als Teil des Autorisierungsprozesses sendet. Um zu beweisen, dass meine Anfragen zu derselben Sitzung gehören, sollte ich einige sensible Parameter nicht aus der Antwort extrahieren (es kann leicht gemacht werden), sondern aus Anfrage. Ich kann diese Werte nirgends in DOM finden, und es scheint, als ob diese Werte von JS erzeugt werden, das an die Antwortseite angehängt ist.
Also, meine Frage ist: gibt es eine Möglichkeit, Parameter von Anfrage von WebDriver gesendet erfassen?
Ich verstehe, dass alle Anfragen von Browser in Jmeter initiiert nicht sichtbar sind. Und die einzige Idee, die ich sehe, ist die dynamische Verwendung des Jmeter-Anforderungsrekorders:
Browserfenster öffnen.
Definieren Sie Jmeter als Proxy für diesen Browser.
Erfasst Anforderungen, die vom Browser im Jmeter mit dem Rekorder gesendet werden.
Irgendwie extrahiert sensible Daten von Anfragen.
Verwenden Sie die Daten zum Laden.
Irgendwelche Ideen geschätzt. Danke im Voraus!