Eine einseitige Anwendung (SPA) ist eine einzelne URL-Webanwendung, die vollständig in einem Webbrowser ausgeführt wird. Hier sind ein paar Dinge, die Sie beachten sollten, bevor Sie die richtige Anwendung für SPA-Lasttests wählen.

Eines der ersten Elemente, die berücksichtigt werden, ist, dass die SPA-Logik stark auf JavaScript-Technologie basiert. Jedes Mal, wenn ein Benutzer auf eine Schaltfläche klickt oder eine andere Aktion auf der Webseite ausführt (Navigation zwischen Registerkarten, Ausfüllen von Webformularen usw.), führt ein Browser JavaScript aus und rendert die Webseite.

Zweitens umfasst die Authentifizierung in einem SPA HTTP-Header mit Zugriffsanmeldeinformationen (z. B. JSON-Webtoken). Zugriffstoken werden von einem SPA-Server für jede Sitzung bereitgestellt. Wenn ein Browser HTTP-Aufrufe ausführt, extrahiert er das Token aus der SPA-Serverantwort und gibt es mit jeder HTTP-Anforderung zurück.

Diese SPA-Logikmerkmale setzen Beschränkungen für SPA-Tests mit Anwendungen wie JMeter. JMeter ist KEIN Browser und funktioniert auf Protokollebene. JMeter ermöglicht das Emulieren von SPA-Webanforderungen an den Server, ohne die Anwendung selbst zu testen. Das Erstellen von Anforderungen für den Betrieb mit Benutzerdaten auf der Seite erfordert jedoch entsprechende Kenntnisse in der Webentwicklung. Um sich beispielsweise bei einem SPA anzumelden, müssen Sie die Aufrufe des Clients pro Sitzung authentifizieren. Andernfalls kann die Seitenleistung nicht genau getestet werden.

Auf der anderen Seite funktioniert LoadView wie ein echter Browser und unterstützt JavaScript-Ausführung und Authentifizierungslogik auf Browserebene. Alles, was Sie tun müssen, ist, Benutzeraktionen auf der SPA-Seite mit dem integrierten Recorder zu skripten und ein Lademuster einzurichten. So einfach ist das!

Der Test wird in einem echten Browser(Chrome- oder Internet Explorer-Optionen sind verfügbar) durchgeführt, um die tatsächliche Benutzererfahrung zu simulieren und realistische Testergebnisse zu liefern.

 

Weitere Informationen zu Auslastungstests für Webanwendungen finden Sie unter Erste Schritte mit dem Auslastungstest-Setup und konfigurieren der Webanwendungsaufgabe.

Häufige Anwendungsfälle

Um die Art der SPA-Tests zu zeigen, betrachten wir ein Testszenario, das den Vorgang der Änderung von Benutzerdaten auf der Seite Benutzer im Menü Dotcom-Monitor-Kontoeinstellungen wiederholt. Die Seite ist ein typisches Beispiel für ein SPA.

Da die Seite Benutzer authentifiziert ist, müssen wir uns vor dem Testen der Seite bei der Anwendung anmelden. Login-Tests können ohne Einen Browser aufgrund der zuvor beschriebenen SPA-Authentifizierungsmerkmale schwierig sein.

Je nach Authentifizierungsergebnis wird der Seiteninhalt geladen. Im Allgemeinen werden alle Daten, einschließlich der Benutzeroberfläche, im Back-End verarbeitet und in HTML bereitgestellt. Um die Daten zu erhalten, sollten daher GET-Anforderungen an die Seiten-URL gesendet werden. Wenn es jedoch um SPAs geht, sind in der Serverantwort außer JavaScript-Skripts keine Daten enthalten. Finden Sie die Seitenquelle auf dem Bild unten.

Im Vergleich zur Serverantwort werfen wir einen Blick auf die Seitenelemente, die vom Browser gerendert werden. Der Browser rendert den Seiteninhalt dynamisch, einschließlich der Benutzerdaten, Der Kopfzeilen, des Menübereichs und des Benutzerlistenrasters. Da die UI-Elemente nicht im HTML-Code enthalten sind und nur vom Browser gerendert werden, können sie nicht ohne JavaScript-Ausführung getestet werden.

Beispielsweise ist der Dialoghandler Benutzer bearbeiten bereits in der ursprünglichen Serverantwort enthalten, und es werden keine Aufrufe zusätzlich ausgeführt. Wenn Überprüft wird, ob das Popup-Dialogfeld korrekt gerendert wird, ist eine entsprechende Skriptausführung erforderlich und kann nicht durch HTTP-Anforderungen ausgeführt werden.

Finden Sie das Beispiel für Anforderungen, die beim Bearbeiten von Benutzerdaten an den Server gesendet werden.

Wenn Sie die SPA-Leistung testen möchten, kann Ihnen eine echte browserbasierte Auslastungstestlösung, wie LoadView, umfassende Auslastungstestergebnisse liefern.