PerformanceTotal Service
wdio-performancetotal-service ist ein Drittanbieter-Paket, für weitere Informationen siehe GitHub | npm Hinweis:
Für WebdriverIO v9 verwende Version 4.x.x.
Für WebdriverIO v8 verwende Version 3.x.x.
Für WebdriverIO v7 verwende Version 2.x.x.
Für WebdriverIO v6 verwende Version 1.x.x.
Mit diesem Plugin für webdriver.io können Sie ganz einfach Leistungsanalysen zu jedem Ablauf in Ihren Tests hinzufügen, sei es eine reine UI, API oder eine Kombination aus beidem. Dieses Plugin bietet eine einfache und effiziente Möglichkeit, die Antwortzeiten verschiedener Verfahren zu messen und potenzielle Engpässe in Ihrer Anwendung zu identifizieren. Mit diesen Informationen können Sie fundierte Entscheidungen über Optimierungen und Verbesserungen treffen, um die Gesamtleistung Ihrer Anwendung zu verbessern.
Installation
Der einfachste Weg, dieses Modul als Entwicklungsabhängigkeit zu installieren, ist die Verwendung des folgenden Befehls:
npm install wdio-performancetotal-service --save-dev
Verwendung
Fügen Sie wdio-performancetotal-service zu Ihrer wdio.conf.js
hinzu:
exports.config = {
// ...
services: ['performancetotal']
// ...
};
...oder mit den Service-Optionen:
exports.config = {
// ...
services: [
['performancetotal',
// Die Optionen (mit Standardwerten)
{
disableAppendToExistingFile: false,
performanceResultsFileName: "performance-results",
dropResultsFromFailedTest: false,
performanceResultsDirectory: "performance-results",
analyzeByBrowser: false,
recentDays: 0
}]
]
// ...
};
Optionen
disableAppendToExistingFile
Wenn auf true
gesetzt, beginnen neue Testläufe frisch und überschreiben alle vorhandenen Leistungsdaten.
Wenn auf false
gesetzt (Standard), werden Leistungsdaten zu den vorhandenen Daten hinzugefügt.
⚠️ Vorsicht:
Diese Aktion löscht alle Ihre Leistungsdaten dauerhaft. Stellen Sie sicher, dass Sie ein Backup haben, bevor Sie fortfahren.
performanceResultsFileName
Sie können den Standard-Ergebnisdateinamen (performance-results
) überschreiben.
Eine neu erstellte Ergebnisdatei überschreibt normalerweise die alte Datei. Wenn Sie alte Dateien behalten möchten, wird empfohlen, einen Zeitstempel zum Dateinamen hinzuzufügen. Zum Beispiel:
...
performanceResultsFileName: `performance-results_${new Date().getTime()}`
...
dropResultsFromFailedTest
Standardwert ist false
. Wenn der Wert auf true
gesetzt ist, wird die Leistungsanalyse aus fehlgeschlagenen Tests ausgeschlossen.
recentDays
Standardwert ist 0
(keine Begrenzung). Um die Anzahl der Tage für die Leistungsanalyse festzulegen, geben Sie die Anzahl der Tage an. Auch Teiletage werden unterstützt (z.B. recentDays: 0.5
)
performanceResultsDirectory
Sie können den Standardpfad für das Ergebnisverzeichnis im Projektstammverzeichnis überschreiben. Zum Beispiel:
...
performanceResultsDirectory: "results-dir/performance-total-results"
...
analyzeByBrowser
Standardwert ist false
. Wenn true
, werden die Leistungsdaten auch nach Browsertyp analysiert.
Verwendung im Test
Importieren Sie einfach performancetotal dort, wo Sie es benötigen, sei es in Ihrer Testdatei oder einer anderen Klasse. Dieses Objekt bietet Methoden zum Messen von Leistungsdaten in Ihren Tests, einschließlich sampleStart und sampleEnd für das Starten und Beenden von Leistungsmessungen. Hier ist ein Beispiel, wie Sie das performancetotal-Objekt verwenden könnten, um die Startleistung von zwei Websites zu messen:
// Dieser Testfall misst die Startleistung von Github und SourceForge mit dem performancetotal-Objekt.
import { performancetotal } from "wdio-performancetotal-service";
it("should test github and sourceforge startup performance", () => {
// Starte eine neue Leistungsmessung für Github
performancetotal.sampleStart("GH-Startup");
// Navigiere zu Github
browser.url("https://github.com/");
// Beende die Github-Messung und speichere die Ergebnisse
performancetotal.sampleEnd("GH-Startup");
// ...
// Starte eine neue Leistungsmessung für SourceForge
performancetotal.sampleStart("SF-Startup");
// Navigiere zu SourceForge
await browser.url("https://sourceforge.net/");
// Beende die SourceForge-Messung und speichere die Ergebnisse
performancetotal.sampleEnd("SF-Startup");
});
Sie können die Zeit, die für eine einzelne Leistungsstichprobe benötigt wurde, abrufen, indem Sie in Ihrem Test performancetotal.getSampleTime(sampleName) aufrufen. Dies ermöglicht es Ihnen, die Leistung eines bestimmten Codeabschnitts zu überprüfen und sicherzustellen, dass sie Ihren Erwartungen entspricht.
// Erhalten Sie die Zeit, die für eine einzelne Stichprobe benötigt wurde
const sampleTime = performancetotal.getSampleTime(sampleName);
Abrufen der Ergebnisse
Wenn alle Tests abgeschlossen sind, wird ein neues Ergebnisverzeichnis im Stammordner Ihres Projekts erstellt (der Standardverzeichnisname ist performance-results). In diesem Verzeichnis werden zwei Dateien erstellt: performance-results.json und performance-results.csv. Diese Dateien enthalten analysierte Daten für jede Stichprobe, einschließlich der durchschnittlichen Zeit, des Standardfehlers des Mittelwerts (SEM), der Anzahl der Stichproben, des Minimalwerts, des Maximalwerts, der frühesten Zeit und der spätesten Zeit. Sie können diese Daten verwenden, um Leistungsrückgänge oder -verbesserungen im Laufe der Zeit zu identifizieren.
Analyse von Leistungsdaten in großen Mengen
Um bestehende Leistungsdaten in großen Mengen zu analysieren, ohne neue Tests zu generieren, wird die Verwendung des performancetotal-cli Tools empfohlen.
Typescript-Unterstützung
Typescript wird für dieses Plugin unterstützt.
Support
Für Support und Vorschläge können Sie mich gerne unter tzur.paldi@outlook.com kontaktieren.