Hier habe ich einen Aufnahmekontroller und einen Testskript-Rekorder. Ich habe die Benutzeraktivitäten mithilfe einer Vorlage aufgezeichnet. Dies erstellt automatisch einen Aufzeichnungscontroller und dann einen Transaktionscontroller. Jeder Transaktionscontroller enthält eine untergeordnete HTTP-Anforderung. Wenn ich nun den Test nach dem Erstellen eines Testskripts durchführe, sehe ich, dass das aggregierte Ergebnis Informationen über (throughut, error, min usw.) für die untergeordnete HTTP-Anfrage (Sampler) sowie den übergeordneten Transaktionscontroller enthält.
Ich werde es mit den Bildern unten klarer machen.
Im obigen Bild habe ich den Testplan erstellt. Wenn ich nun diesen Test mache, bekomme ich folgendes Ergebnis. Die eingekreisten sind die Transaktionscontroller.
Hier habe ich den übergeordneten Transaktionscontroller eingekreist. Nun, warum auf der Erde ist das Ergebnis.
Frage: Wird auf der Website eine Anfrage gestellt? Warum wird die untergeordnete Anfrage angezeigt und hinzugefügt? Dieses Ding ist nur eine Summe aller seiner Kindanfragen - also, warum addiert es sich in der Tabelle?
Auch hier, wenn ich auf "Erzeuge Elternstichprobe" klicke, verbirgt es die Kindanfrage und zeigt nur den aufsummierten Bericht an, der sich völlig vom obigen Bericht unterscheidet.
Nun ist die Frage, wie ich die Dinge umdrehen kann. Was sind die Konsequenzen. Und was soll ich in diesem Fall tun? Soll ich den Eltern-Kind-Bericht oder nur die Elternberichtdaten berechnen?
Laut Dokumentation von Transaktionscontroller :
Der Transaktionscontroller erzeugt ein zusätzliches Sample, das die Gesamtzeit misst, die für die Ausführung der geschachtelten Testelemente benötigt wird.
Wenn Sie also diesen zusätzlichen Sampler nicht möchten, entfernen Sie ihn einfach oder ersetzen Sie ihn durch den Simple Controller.
Beachten Sie, dass es nützlich ist, wenn es mehr als einen Sampler enthält.
Tags und Links performance-testing jmeter load-testing jmeter-plugins