Hoppa till huvudinnehåll

PerformanceTotal Service

wdio-performancetotal-service är ett tredjepartspaket, för mer information se GitHub | npm Notera:
För WebdriverIO v9 använd version 4.x.x.
För WebdriverIO v8 använd version 3.x.x.
För WebdriverIO v7 använd version 2.x.x.
För WebdriverIO v6 använd version 1.x.x.


chart

Med denna plugin för webdriver.io kan du enkelt lägga till prestandaanalys till alla flöden i dina tester, oavsett om det är ett rent UI, API eller en kombination av båda. Denna plugin erbjuder ett enkelt och effektivt sätt att mäta svarstider för olika procedurer och identifiera potentiella flaskhalsar i din applikation. Med denna information kan du fatta välgrundade beslut om optimeringar och förbättringar för att förbättra den övergripande prestandan i din applikation.

Installation

Det enklaste sättet att installera denna modul som en dev-beroende är genom att använda följande kommando:

npm install wdio-performancetotal-service --save-dev

Användning

Lägg till wdio-performancetotal-service i din wdio.conf.js:

exports.config = {
// ...
services: ['performancetotal']
// ...
};

...eller med tjänstalternativ:

exports.config = {
// ...
services: [
['performancetotal',
// Alternativen (med standardvärden)
{
disableAppendToExistingFile: false,
performanceResultsFileName: "performance-results",
dropResultsFromFailedTest: false,
performanceResultsDirectory: "performance-results",
analyzeByBrowser: false,
recentDays: 0
}]
]
// ...
};

Alternativ

disableAppendToExistingFile

När inställd på true kommer nya testköningar att starta från början och skriva över befintlig prestandadata. När inställd på false (standard) kommer prestandadata att läggas till i den befintliga datan.

⚠️ Varning:

Denna åtgärd kommer att radera all din prestandadata permanent. Se till att du har en säkerhetskopia innan du fortsätter.

performanceResultsFileName

Du kan åsidosätta standardnamnet för resultatfilen (performance-results). En nyligen skapad resultatfil skriver normalt över den gamla filen. Om du vill behålla gamla filer rekommenderas det att lägga till en tidsstämpel i filnamnet. Till exempel:

...
performanceResultsFileName: `performance-results_${new Date().getTime()}`
...

dropResultsFromFailedTest

Standard är false. När värdet är inställt på true skulle prestandaanalys från misslyckade tester uteslutas.

recentDays

Standard är 0 (ingen gräns). För att ställa in antalet dagar att beakta för prestandaanalys, ange antalet dagar. Delar av dagar stöds också (t.ex. recentDays: 0.5)

performanceResultsDirectory

Du kan åsidosätta standardsökvägen för resultatmappen i projektets rotmapp. Till exempel:

...
performanceResultsDirectory: "results-dir/performance-total-results"
...

analyzeByBrowser

Standard är false. Om true skulle prestandadata också analyseras utifrån webbläsartypen.

Användning i test

Importera bara performancetotal där du behöver det, oavsett om det är i din testfil eller någon annan klass. Detta objekt tillhandahåller metoder för att mäta prestandadata i dina tester, inklusive sampleStart och sampleEnd för att starta och avsluta prestandamätningar. Här är ett exempel på hur du kan använda performancetotal-objektet för att mäta startprestandan för två webbplatser:

// Detta testfall mäter startprestandan för Github och SourceForge med hjälp av performancetotal-objektet.

import { performancetotal } from "wdio-performancetotal-service";

it("should test github and sourceforge startup performance", () => {
// Starta en ny prestandamätning för Github
performancetotal.sampleStart("GH-Startup");

// Navigera till Github
browser.url("https://github.com/");

// Avsluta Github-mätningen och spara resultaten
performancetotal.sampleEnd("GH-Startup");

// ...

// Starta en ny prestandamätning för SourceForge
performancetotal.sampleStart("SF-Startup");

// Navigera till SourceForge
await browser.url("https://sourceforge.net/");

// Avsluta SourceForge-mätningen och spara resultaten
performancetotal.sampleEnd("SF-Startup");
});

Du kan hämta tiden som tagits för ett enskilt prestandaprov genom att anropa performancetotal.getSampleTime(sampleName) i ditt test. Detta låter dig kontrollera prestandan för en specifik del av koden och säkerställa att den uppfyller dina förväntningar.

// Få tiden som tagits för ett enskilt prov
const sampleTime = performancetotal.getSampleTime(sampleName);

Få resultaten

När alla tester är slutförda skapas en ny resultatmapp i projektets rotmapp (standardmappnamnet är performance-results). I denna mapp skapas två filer: performance-results.json och performance-results.csv. Dessa filer innehåller analyserad data för varje prov, inklusive genomsnittlig tid, standardfel för medelvärdet (SEM), antal prover, minimivärde, maximivärde, tidigaste tid och senaste tid. Du kan använda denna data för att identifiera eventuella prestandaförsämringar eller förbättringar över tid.

Analysera prestandadata i bulk

För att analysera befintlig prestandadata i bulk utan att generera nya tester rekommenderas att använda performancetotal-cli verktyget.

Typescript-stöd

Typescript stöds för denna plugin.

Support

För support och förslag, känn dig fri att kontakta mig på tzur.paldi@outlook.com.

Welcome! How can I help?

WebdriverIO AI Copilot