Alternativen für das automatisierte Testen der Front-End-Leistung von Webanwendungen [geschlossen]

Ich suche nach einer Möglichkeit, die Front-End-Leistung meiner Webanwendung regelmäßig zu testen.

Insbesondere interessiert mich die Zeit, die benötigt wird, um Hostnamen aufzulösen, Antworten von den Servern zu erhalten, Ressourcen herunterzuladen / zu rendern / auszuführen usw. Ich möchte diese Dinge auch messen, wenninteragieren mit der anwendung, nicht nur wennWird geladen Die Seite.

Ich könnte Firebug oder Chrome Developer Tools verwenden, während ich manuell mit meiner Webanwendung interagiere, aber ich möchte, dass dieser Front-End-Leistungstest Teil meines kontinuierlichen Integrationsprozesses ist. Ich möchte nächtliche Ergebnisse von Front-End-Leistungstests haben, damit es leicht wird, Leistungsrückgänge zu erkennen. Aus diesem Grund ist eine meiner vorläufigen Schlussfolgerungen, dass ich meine vorhandene funktionale Selenium / WebDriver-Testsuite (oder eine Teilmenge der Testsuite) nutzen möchte.

Angenommen, ich verwende Selenium für die Interaktion mit meiner Webanwendung, dann brauche ich dafür ein Toolmessen die Front-End-Leistung im Browser.

Bisher habe ich drei Optionen geprüft:

1)Browsermob-Proxy

browsermob-proxy ist ein Open-Source-Proxy, der Leistungsdaten im HAR-Format erfasst. Es bietet zusätzlich zu Java- und NodeJS-Bindungen eine HTTP-REST-API. Da es sich um einen Proxy handelt, der den HTTP-Verkehr analysiert, gibt er mir keine Informationen darüber, was im Browser geschieht (z. B. Rendern usw.), woran ich am meisten interessiert bin.

2)WebPagetest

WebPagetest ist auch Open-Source-Software und als kostenloser Cloud-Service unter webpagetest.org erhältlich. Es ist möglich (und nicht zu schwierig), eine private Instanz dieses Dienstes einzurichten. Ich gebe ihm eine URL und erhalte einen Leistungsbericht über das Laden dieser Seite. Es ermöglicht mir jedoch nicht, die Anwendung zu überwachen, während ich mit ihr interagiere - was besonders in einer einseitigen Webanwendung von entscheidender Bedeutung ist, in der viele Dinge auf der Client-Seite ablaufen - wie meine.

3)Compuware APM AJAX Edition (früher DynaTrace AJAX Edition)

Compuware APM AJAX Edition ist eine kostenlose proprietäre Software, die Browser-Plugins verwendet, um beim Surfen Informationen aus dem Browser zu erfassen. Dies bedeutet, dass während der Ausführung einer Selenium-Testsuite automatisch Daten erfasst werden können.

Es ist ziemlich einfach, es zu automatisieren und die Ausführung in einen kontinuierlichen Integrationsprozess zu integrieren, aber das Reporting lässt zu wünschen übrig. Die Testergebnisse werden in "Sitzungen" zusammengefasst. Dies ist der Zeitraum, in dem das Browserfenster geöffnet wird, bis es geschlossen wird. Es gibt keine Funktion zum Vergleichen von Testergebnissen über einen längeren Zeitraum, wodurch es schwierig ist, Fortschritte zu verfolgen und Regressionen zu erfassen.

Compuware APM AJAX Edition ist die beste Alternative, die ich bisher gesehen habe - aber es muss etwas Besseres geben -Recht?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage