Tålig dag
- Ämnen:
- Developing
Skapat för:
- Developer
Vad är Tom Dag 2?
Tough Day 2 är ett program som gör att du kan stresstesta gränserna för din AEM. Den kan köras direkt med testsviten eller konfigureras för att passa dina testbehov. Du kan titta den här inspelningen för en presentation av ansökan.
Köra Tough Day 2
Ladda ned den senaste versionen av Tough Day 2 från Adobe-databas. När du har laddat ned programmet kan du köra det direkt genom att ange host
parameter. I följande exempel körs den AEM instansen lokalt så att localhost
värde används:
java -jar toughday2.jar --host=localhost
Standardsviten som körs när du lägger till parametrar får namnet toughday
. Det innehåller följande användningsfall:
- Skapa sidor och live-kopior för dem (inklusive rollouts)
- Hämta hemsida
- Köra frågor i Query Builder
- Skapa resurshierarkier
- Ta bort resurser
Programsviten innehåller 15 % skrivåtgärder och 85 % läsåtgärder.
För att köra testerna av sviten installerar Tough Day 2 standardinnehållspaketet. Detta kan undvikas genom att ställa in installsamplecontent
parameter till false
men kom ihåg att du också bör ändra standardsökvägarna för de tester som du tänker köra. Om burken körs utan parametrar visar Tough Day 2 hjälpinformation.
Som regel kan du använda programmet genom att följa det här mönstret:
java -jar toughday2.jar [--help | --help_full | --help_tests | --help_publish] [<global arguments> | <actions> | --runmode | --publishmode]
Få hjälp
Dag 2 erbjuder en mängd hjälpalternativ som du kan komma åt från kommandoraden. Till exempel:
java -jar toughday2.jar --help_full
I tabellen nedan hittar du relevanta hjälpparametrar.
Parameter | Beskrivning | Exempel |
—help | Skriver ut global information, till exempel: tillgängliga åtgärder, fördefinierade programsviter, körningslägen och globala parametrar. | |
—help_publish | Skriver ut alla tillgängliga utgivare. | |
—help_tests | Skriver ut testklasserna och deras beskrivning. | |
—help_full | Skriver ut allt ovanstående, plus tester, utgivare och Suite-komponenter. | |
—help —runmode/publishmode type=<mode> | Visar information om det angivna körnings- eller publiceringsläget. |
java -jar toughday2.jar —help —runmode type=konstantload java -jar toughday2.jar —help —publishmode type=interval |
—help —suite=<suitename> | Listar alla tester av en given svit och deras respektive konfigurerbara egenskaper. | java -jar toughday2.jar —help —suite=get_tests |
—help —tag=<tag> | Visar alla objekt som har den angivna taggen. | java -jar toughday2.jar —help —tag=publish |
—help <testclass publisherclass=""> | Visar alla konfigurerbara egenskaper för det angivna testet eller utgivaren. |
java -jar toughday2.jar —help UploadPDFTest java -jar toughday2.jar —help CSVPublisher |
Globala parametrar
Tough Day 2 erbjuder globala parametrar som ställer in eller ändrar miljön för testerna. Bland dessa finns målvärden, portnummer, protokoll, användare och lösenord för instansen och många andra. Till exempel:
java -jar toughday2.jar --host=host --protocol=https --port=4502 --duration=30m --dryrun=true
Du hittar de relevanta parametrarna i listan nedan:
Parameter | Beskrivning | Standardvärde | Möjliga värden |
---|---|---|---|
--installsamplecontent=<Val> | Installerar eller hoppar över standardinnehållspaketet för Tough Day 2. | true | true eller false |
--protocol=<Val> | Protokollet som används för värden. | http | http eller https |
--host=<Val> | Värdnamnet eller IP-adressen som ska användas som mål. | ||
--port=<Val> | Värdens port. | 4502 | |
--user=<Val> | Användarnamnet för instansen. | admin | |
--password=<Val> | Lösenord för den angivna användaren. | admin | |
--duration=<Val> | Provningens varaktighet. Kan uttryckas i (s)sekunder, (m)minuter, (h)ours och (d)dagar. | 1d | |
--timeout=<Val> | Hur länge ett test ska köras innan det avbryts och markeras som misslyckat. Uttryckt i sekunder. | 180 | |
--suite=<Val> | Värdet kan vara en eller en lista (avgränsad med kommatecken) med fördefinierade testsviter. | tuffing | |
--configfile=<Val> | Den målformade dynamiska konfigurationsfilen. | ||
--contextpath=<Val> | Instansens kontextsökväg. | ||
--loglevel=<Val> | Loggnivån för motorn Tough Day 2. | INFO | ALL, DEBUG, INFO, VARNING, FEL, FATAL, AV |
--dryrun=<Val> | Om true skrivs den resulterande konfigurationen ut och inga tester körs. | false | true eller false |
Anpassa
Anpassning kan göras på två sätt: kommandoradsparametrar eller dynamiska konfigurationsfiler. Konfigurationsfiler används vanligtvis för stora anpassade programsviter och de åsidosätter standardparametrarna för Tough Day 2. Kommandoradsparametrar åsidosätter både konfigurationsfiler och standardparametrar.
Det enda sättet att spara en testkonfiguration är att kopiera den i yaml-format. Mer information finns i toughday.yaml konfiguration och yaml-konfigurationsexempel i avsnitten nedan.
Lägga till ett nytt test
Om du inte vill använda standardinställningen toughday
du kan lägga till ett test med add
parameter. Exemplen nedan visar hur du lägger till CreateAssetTreeTest
testa antingen med kommandoradsparametrar eller en gul konfigurationsfil.
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest
Genom att använda en dynamisk konfigurationsfil:
globals:
host : localhost
tests:
- add : CreateAssetTreeTest
Lägga till flera instanser av samma test
Du kan också lägga till och köra flera instanser av samma test, men varje instans måste ha ett unikt namn. I exemplen nedan visas hur du lägger till två instanser av samma test antingen med kommandoradsparametrar eller en gul konfigurationsfil.
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest name=FirstAssetTree --add CreateAssetTreeTest name=SecondAssetTree
Genom att använda en dynamisk konfigurationsfil:
globals:
host : localhost
tests:
- add : CreateAssetTreeTest
properties:
name : FirstAssetTree
- add : CreateAssetTreeTest
properties:
name : SecondAssetTree
Ändra testegenskaper
Om du behöver ändra en eller flera av testegenskaperna kan du lägga till den egenskapen på kommandoraden eller i yaml-konfigurationsfilen. Om du vill visa alla tillgängliga testegenskaper lägger du till --help <TestClass/PublisherClass>
parameter till kommandoraden, till exempel:
java -jar toughday2.jar --help CreatePageTreeTest
Tänk på att standardparametrarna Tough Day 2 skrivs över av standardkonfigurationsfilerna för Yaml och kommandoradsparametrarna åsidosätter både konfigurationsfilerna och standardvärdena.
Exemplen nedan visar hur du ändrar template
-egenskapen för CreatePageTreeTest
testa antingen med kommandoradsparametrar eller en gul konfigurationsfil.
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --add CreatePageTreeTest template=/conf/toughday-templates/settings/wcm/templates/toughday-template
Genom att använda en dynamisk konfigurationsfil:
globals:
host : localhost
tests:
- add : CreatePageTreeTest
properties:
template : /conf/toughday-templates/settings/wcm/templates/toughday-template
Arbeta med fördefinierade testsviter
I exemplen nedan visas hur du lägger till ett test i en fördefinierad svit och hur du konfigurerar om och exkluderar ett befintligt test från en fördefinierad svit.
Du kan lägga till ett nytt test i en fördefinierad svit med add
och ange den fördefinierade målsviten.
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --suite=toughday --add CreatePageTreeTest
Genom att använda en dynamisk konfigurationsfil:
globals:
host : localhost
suite : toughday
tests:
- add : CreatePageTreeTest
Befintliga tester i en viss programsvit kan även konfigureras om med config
* *parameter. Observera att du också måste ange namnet på programsviten och testets faktiska namn (inte testklassens namn). Testnamnet finns i name
egenskapen för klassen Test. Mer information om hur du söker efter testegenskaper finns i Ändra testegenskaper -avsnitt.
I exemplet nedan visas standardresursens namn för CreatePageTreeTest
(namngiven UploadAsset
) ändras till"NewAsset".
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --suite=toughday --config UploadAsset title=NewAsset
Genom att använda en dynamisk konfigurationsfil:
globals:
host : localhost
suite : toughday
tests:
- config : UploadAsset
properties :
title : NewAsset
Du kan även ta bort tester från fördefinierade sviter eller utgivare från standardkonfigurationen med hjälp av exclude
parameter. Observera att du också måste ange namnet på sviten och det faktiska namnet på testet (inte test C) lass
namn). Testnamnet finns i name
egenskapen för klassen test. I exemplet nedan är CreatePageTreeTest
(namngiven UploadAsset
)-testet tas bort från den tuffa sviten.
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --suite=toughday --exclude UploadAsset
Genom att använda en dynamisk konfigurationsfil:
globals:
host : localhost
suite : toughday
tests:
- exclude : UploadAsset
Körningslägen
Dag 2 kan köras i något av följande lägen: normal och konstant belastning.
The normal körningsläget har två parametrar:
-
concurrency
- samtidig representerar antalet trådar som Tough Day 2 skapar för testkörning. På dessa trådar kommer tester att utföras tills antingen varaktigheten är slut eller tills det inte finns fler tester att köra. -
waittime
- väntetiden mellan två på varandra följande testkörningar i samma tråd. Värdet måste anges i millisekunder.
I exemplet nedan visas hur du lägger till parametrar med kommandoraden:
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest --runmode=normal concurrency=20
eller genom att använda en dynamisk konfigurationsfil:
runmode:
type : normal
waittime : 300
concurrency : 200
The konstant belastning körningsläget skiljer sig från det normala körningsläget genom att generera ett konstant antal startade testkörningar i stället för ett konstant antal trådar. Du kan ställa in inläsningen med parametern för körningsläge med samma namn.
Testa markering
Testmarkeringsprocessen är densamma för båda körningslägena och följande fungerar: alla tester har weight
som avgör sannolikheten för körning i en tråd. Om vi till exempel har två tester, ett med en vikt på 5 och det andra med en vikt på 10, är det två gånger mer troligt att det senare utförs än det första.
Dessutom kan tester ha en count
-egenskap, som begränsar antalet körningar till ett givet tal. När detta antal har passerats kommer inga fler testkörningar att utföras. Alla testinstanser som redan körs kommer att slutföra körningen enligt konfigurationen. I följande exempel visas hur du lägger till de här parametrarna antingen på kommandoraden eller med hjälp av en dynamisk konfigurationsfil.
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest weight=5 --add CreatePageTreeTest weight=10 count=100 --runmode=normal concurrency=20
eller
- add : CreateAssetTreeTest
properties :
name : UploadAsset
weight : 5
base : 3
foldertitle : IAmAFolder
assettitle : IAmAnAsset
count : 100
count
parameter. Förväntade en avvikelse som är proportionerlig till antalet pågående trådar (styrs av concurrency parameter
).Torr körning
En torr körning tolkar alla angivna indata (kommandoradsparametrar eller konfigurationsfiler), sammanfogar dem med standardvärdena och returnerar sedan resultatet. Den utför inte något av testerna.
java -jar toughday2.jar --host=localhost --suite=toughday --add CreatePageTreeTest --dryrun=true
Utdata
Dag 2 ger både testvärden och loggar. Mer information finns i följande avsnitt.
Testmått
Tuff dag 2 rapporterar för närvarande 9 testvärden som du kan utvärdera. Mätvärden med * symbolen rapporteras endast efter lyckade körningar:
Namn | Beskrivning |
---|---|
Tidsstämpel | Tidsstämpel för den senaste slutförda testkörningen. |
Godkänd | Antal lyckade körningar. |
Misslyckades | Antal misslyckade körningar. |
Min* | Testkörningens kortaste varaktighet. |
Max* | Testkörningens längsta varaktighet. |
Median* | Beräknad medianduration för alla testkörningar. |
&Jämka; | Beräknad genomsnittlig varaktighet för alla testkörningar. |
StdDev* | Standardavvikelsen. |
90p* | 90-percentil. |
99p* | 99-percentil. |
99.9p* | 99,9 percentil. |
Verkligt dataflöde* | Antal körningar delat med förfluten körningstid. |
Dessa mätvärden skrivs med hjälp av utgivare som kan läggas till med add
parameter (på samma sätt som när du lägger till tester). Det finns för närvarande två alternativ:
- CSVPublisher - utdata är en CSV-fil.
- ConsolePublisher - utdata visas i konsolen.
Som standard är båda utgivare aktiverade.
Det finns dessutom två lägen där mätvärdena rapporteras:
- The enkel publiceringsläge - Rapporterar resultaten från körningens början till publiceringspunkten.
- The intervall publiceringsläge - Rapporterar resultaten i en given tidsram. Du kan ställa in tidsramen med intervall parameter för publiceringsläge.
I följande exempel visas hur du konfigurerar intervals
parametern antingen på kommandoraden eller med hjälp av en dynamisk konfigurationsfil.
Genom att använda kommandoradsparametrar:
java -jar toughday2.jar --host=localhost --add CreatePageTreeTest --publishmode type=intervals interval=10s
Genom att använda en dynamisk konfigurationsfil:
publishmode:
type : intervals
interval : 10s
tests:
-add : CreatePageTreeTest
Loggning
Tough Day 2 skapar en loggmapp i samma katalog som du körde Tough Day 2. Den här mappen innehåller två typer av loggar:
- toughday.log: innehåller meddelanden som rör programtillståndet, felsökningsinformation och globala meddelanden.
- toughday_<testname>.log: meddelanden relaterade till det angivna testet.
Loggarna skrivs inte över, efterföljande körningar lägger till meddelanden i befintliga loggar. Loggarna har flera nivåer. Mer information finns i [loglevel parameter](/docs/experience-manager-64/developing/testing/tough-day.md#global-parameters)
.
Experience Manager
- Utveckla användarhandboken - översikt
- Introduktion för utvecklare
- Komma igång med utveckling i AEM Sites – WKND-självstudiekurs
- AEM kärnbegrepp
- Struktur för det AEM användargränssnittet med pekskärm
- Koncepten i det AEM användargränssnittet med pekskärm
- AEM - riktlinjer och bästa praxis
- Använda bibliotek på klientsidan
- Developing and Page Diff
- Begränsningar för redigerare
- CSRF Protection Framework
- Datamodellering - David Nueschelers modell
- Bidrar till AEM
- Dokumentskydd
- Referensmaterial
- Skapa en webbplats med alla funktioner (Classic UI)
- Designer och Designer (Classic UI)
- Plattform
- Fusklapp för Sling
- Använda Sling-adaptrar
- Taggbibliotek
- Mallar
- Använda Sling Resource Merger i AEM
- Övertäckningar
- Namnkonventioner
- Skapa en ny GRE-fältkomponent
- Query Builder
- Taggar
- Anpassa sidor som visas av felhanteraren
- Anpassade nodtyper
- Lägga till teckensnitt för grafikåtergivning
- Ansluta till SQL-databaser
- Extern URL
- Skapa och använda jobb för avlastning
- Konfigurerar cookie-användning
- Så här programmässigt kommer du åt AEM JCR
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utveckla rapporter
- eCommerce
- Komponenter
- Kärnkomponenter
- Formatsystem
- Komponenter - översikt
- AEM - Grunderna
- Utveckla AEM
- Utveckla AEM - kodexempel
- JSON-exporterare för innehållstjänster
- Aktivera JSON-export för en komponent
- Bildredigeraren
- Dekoration-tagg
- Använda Dölj villkor
- Konfigurera flera redigerare på plats
- Utvecklarläge
- Testa användargränssnittet
- Komponenter för innehållsfragment
- Hämta sidinformation i JSON-format
- Internationalisering
- Klassiska gränssnittskomponenter
- Headless Experience Management
- Headless och Hybrid with AEM
- Aktivera JSON-export för en komponent
- Enkelsidiga program
- SPA introduktion och genomgång
- SPA WKND - självstudiekurs
- Getting Started with SPA in AEM - React
- Komma igång med SPA i AEM - Angular
- Implementera en React Component for SPA
- SPA djupdykning
- SPA
- Utveckla SPA för AEM
- SPA Blueprint
- SPA
- Dynamisk mappning av modell till komponent för SPA
- SPA
- SPA och Adobe Experience Platform Launch Integration
- SPA- och serveråtergivning
- SPA referensmaterial
- HTTP-API
- Innehållsfragment
- Experience Fragments
- Utvecklingsverktyg
- Utvecklingsverktyg
- AEM Modernization Tools
- Dialogruteredigeraren
- Verktyget Dialogkonvertering
- Utveckla med CRXDE Lite
- Hantera paket med Maven
- Utveckla AEM projekt med Eclipse
- Skapa AEM projekt med Apache Maven
- Utveckla AEM projekt med IntelliJ IDEA
- Så här använder du VLT-verktyget
- Så här använder du proxyserververktyget
- AEM Brackets Extension
- AEM Developer Tools for Eclipse
- AEM
- Personanpassning
- Utöka AEM
- Anpassa sidredigering
- Anpassa konsolerna
- Anpassa vyer av Sidegenskaper
- Konfigurera din sida för gruppredigering av sidegenskaper
- Anpassa och utöka Content Fragments
- Utöka arbetsflöden
- Utöka Multi Site Manager
- Spårning och analys
- Cloud Services
- Skapa anpassade tillägg
- Forms
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utöka Classic UI
- Testning
- Bästa praxis
- Mobil webb