Dag 2 is een toepassing waarmee u de grenzen van uw AEM-instantie kunt testen. Het kan uit de doos met de standaardtestreeks worden gelopen of het kan worden gevormd om aan uw testende behoeften te passen. U kunt deze opname voor een presentatie van de aanvraag.
Download de nieuwste versie van Tough Day 2 van de Adobe-opslagplaats. Nadat u de toepassing hebt gedownload, kunt u deze uit het vak uitvoeren door de host
parameter. In het volgende voorbeeld wordt de AEM-instantie lokaal uitgevoerd, zodat de localhost
waarde wordt gebruikt:
java -jar toughday2.jar --host=localhost
De standaardsuite die wordt uitgevoerd nadat de parameters zijn toegevoegd, krijgt de naam toughday
. Het bevat de volgende gebruiksgevallen:
De suite bevat 15% handelingen voor schrijven en 85% handelingen voor lezen.
Tough Day 2 installeert het standaard inhoudspakket om de suite-tests uit te voeren. Dit kan worden voorkomen door het instellen van de installsamplecontent
parameter to false
, maar vergeet niet dat u ook de standaardpaden moet wijzigen voor de tests die u wilt uitvoeren. Als de pot zonder parameters in werking wordt gesteld, toont Dag 2 Help-informatie.
In het algemeen kunt u de toepassing gebruiken door dit patroon te volgen:
java -jar toughday2.jar [--help | --help_full | --help_tests | --help_publish] [<global arguments> | <actions> | --runmode | --publishmode]
Dag 2 van de oude dag heeft geen opschoonstap. Als gevolg hiervan wordt aangeraden Dag 2 te gebruiken op een gekloonde staging-instantie en niet op de hoofdproductie-instantie. De testinstantie moet na de tests worden verwijderd.
Dag 2 van de tijd biedt een brede waaier van hulpopties die van de bevellijn kunnen worden betreden. Bijvoorbeeld:
java -jar toughday2.jar --help_full
In de onderstaande tabel vindt u de relevante Help-parameters.
Parameter | Beschrijving | Voorbeeld |
—help | Hiermee wordt algemene informatie afgedrukt, bijvoorbeeld: de beschikbare acties, de vooraf gedefinieerde suites, de uitvoeringsmodi en de algemene parameters. | |
—help_publish | Hiermee worden alle beschikbare uitgevers afgedrukt. | |
—help_tests | Drukt de testklassen en hun beschrijving af. | |
—help_full | Drukt alle bovenstaande, plus tests, uitgevers en suite-onderdelen af. | |
—help —runmode/publishmode type=<mode> | Hiermee geeft u informatie weer over de opgegeven run- of publicatiemodus. | java -jar toughday2.jar —help —runmode type=constantload java -jar toughday2.jar —help —publishmode type=intervallen |
—help —suite=<suitename> | Vermeldt alle tests van een bepaalde reeks en hun respectieve configureerbare eigenschappen. | java -jar toughday2.jar —help —suite=get_tests |
—help —tag=<tag> | Hiermee geeft u alle items weer met het opgegeven label. |
java -jar toughday2.jar —help —tag=publish |
—help <testclass publisherclass=""> | Vermeldt alle configureerbare eigenschappen voor de bepaalde test of uitgever. |
java -jar toughday2.jar —help UploadPDFTest java -jar toughday2.jar —help CSVPublisher |
Dag 2 biedt globale parameters die de omgeving voor de tests instellen of veranderen. Deze omvatten de gastheer die wordt gericht, het havenaantal, het gebruikte protocol, gebruiker en wachtwoord voor de instantie en vele meer. Bijvoorbeeld:
java -jar toughday2.jar --host=host --protocol=https --port=4502 --duration=30m --dryrun=true
U vindt de relevante parameters in de onderstaande lijst:
Parameter | Beschrijving | Standaardwaarde | Mogelijke waarden |
---|---|---|---|
--installsamplecontent=<Val> |
Installeert of slaat het standaard Tough Day 2 inhoudspakket over. | true | true of false |
--protocol=<Val> |
Het protocol dat voor de gastheer wordt gebruikt. | http | http of https |
--host=<Val> |
De hostnaam of IP die als doel zal worden ingesteld. | ||
--port=<Val> |
De poort van de host. | 4502 | |
--user=<Val> |
De gebruikersnaam voor de instantie. | beheerder | |
--password=<Val> |
Wachtwoord voor de opgegeven gebruiker. | beheerder | |
--duration=<Val> |
De duur van de tests. Kan worden uitgedrukt in (s) seconden, (m)minuten, (h) en (d). | 1 quinquies | |
--timeout=<Val> |
Hoe lang een test zal lopen alvorens het zal worden onderbroken en als ontbroken gemerkt. Uitgedrukt in seconden. | 180 | |
--suite=<Val> |
De waarde kan één of een lijst (gescheiden door komma's) van vooraf bepaalde testsuites zijn. | nachtmerrie | |
--configfile=<Val> |
Het doelafbeeldingsconfiguratiebestand. | ||
--contextpath=<Val> |
Contextpad van instantie. | ||
--loglevel=<Val> |
Het logniveau voor de Tough Day 2-motor. | INFO | ALLES, FOUTOPSPORING, INFO, WAARSCHUWING, FOUT, FATAAL, UIT |
--dryrun=<Val> |
Indien waar (true), wordt de resulterende configuratie afgedrukt en worden geen tests uitgevoerd. | false | true of false |
De aanpassing kan op twee manieren worden bereikt: opdrachtregelparameters of normale configuratiebestanden. De dossiers van de configuratie worden over het algemeen gebruikt voor grote douanereeksen en zij zullen de standaardparameters van Dag 2 van de Hoek met voeten treden. De de lijnparameters van het bevel treden zowel configuratiedossiers als standaardparameters met voeten.
De enige manier om een testconfiguratie op te slaan is het in uw formaat te kopiëren. Zie deze voor meer informatie overdag.yaml de configuratie en de voorbeelden van de modelconfiguratie in de onderstaande secties.
Als u de standaardinstelling niet wilt gebruiken toughday
kunt u een test naar keuze toevoegen met de add
parameter. In de onderstaande voorbeelden ziet u hoe u de CreateAssetTreeTest
test of door bevellijnparameters of een yaml configuratiedossier te gebruiken.
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest
Door een geldig configuratiebestand te gebruiken:
globals:
host : localhost
tests:
- add : CreateAssetTreeTest
U kunt ook meerdere exemplaren van dezelfde test toevoegen en uitvoeren, maar elke instantie moet een unieke naam hebben. De voorbeelden tonen hieronder hoe te om twee instanties van de zelfde test toe te voegen of door bevellijnparameters of een yaml configuratiedossier te gebruiken.
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest name=FirstAssetTree --add CreateAssetTreeTest name=SecondAssetTree
Door een geldig configuratiebestand te gebruiken:
globals:
host : localhost
tests:
- add : CreateAssetTreeTest
properties:
name : FirstAssetTree
- add : CreateAssetTreeTest
properties:
name : SecondAssetTree
Als u een of meer testeigenschappen moet wijzigen, kunt u die eigenschap toevoegen aan de opdrachtregel of het originele configuratiebestand. Als u alle beschikbare testeigenschappen wilt weergeven, voegt u de opdracht --help <TestClass/PublisherClass>
parameter aan de bevellijn, bijvoorbeeld:
java -jar toughday2.jar --help CreatePageTreeTest
Houd er rekening mee dat uw configuratiebestanden de standaardparameters van Dag 2 overschrijven en dat opdrachtregelparameters zowel de configuratiebestanden als de standaardwaarden overschrijven.
In de onderstaande voorbeelden ziet u hoe u de template
eigenschap voor de CreatePageTreeTest
test of door of bevellijnparameters of een yaml configuratiedossier te gebruiken.
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --add CreatePageTreeTest template=/conf/toughday-templates/settings/wcm/templates/toughday-template
Door een geldig configuratiebestand te gebruiken:
globals:
host : localhost
tests:
- add : CreatePageTreeTest
properties:
template : /conf/toughday-templates/settings/wcm/templates/toughday-template
De voorbeelden tonen hieronder hoe te om een test aan een vooraf bepaalde reeks toe te voegen en hoe te om een bestaande test van een vooraf bepaalde reeks opnieuw te vormen en uit te sluiten.
U kunt een nieuwe test aan een vooraf bepaalde reeks toevoegen gebruikend add
en het opgeven van de beoogde voorgedefinieerde suite.
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --suite=toughday --add CreatePageTreeTest
Door een geldig configuratiebestand te gebruiken:
globals:
host : localhost
suite : toughday
tests:
- add : CreatePageTreeTest
Bestaande tests in een bepaalde suite kunnen ook opnieuw worden geconfigureerd met de config
* *parameter. U moet ook de naam van de suite en de werkelijke naam van de test opgeven (niet de naam van de testklasse). U kunt de testnaam vinden in het dialoogvenster name
eigenschap van de klasse Test. Lees voor meer informatie over het zoeken naar testeigenschappen de Testeigenschappen wijzigen sectie.
In het voorbeeld onder de standaardelementtitel voor de CreatePageTreeTest
(benoemd UploadAsset
) is gewijzigd in "NewAsset".
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --suite=toughday --config UploadAsset title=NewAsset
Door een geldig configuratiebestand te gebruiken:
globals:
host : localhost
suite : toughday
tests:
- config : UploadAsset
properties :
title : NewAsset
Daarnaast kunt u tests ook verwijderen uit vooraf gedefinieerde suites of uitgevers in de standaardconfiguratie met het gebruik van de optie exclude
parameter. U moet ook de naam van de suite en de werkelijke naam van de test opgeven (niet test C) lass
naam). U kunt de testnaam vinden in het dialoogvenster name
eigenschap van de testklasse. In het onderstaande voorbeeld wordt CreatePageTreeTest
(benoemd UploadAsset
) wordt verwijderd uit de toughday-suite.
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --suite=toughday --exclude UploadAsset
Door een geldig configuratiebestand te gebruiken:
globals:
host : localhost
suite : toughday
tests:
- exclude : UploadAsset
Dag 2 van de tijd kan in één van de volgende wijzen lopen: normaal en constante belasting.
De normaal De uitvoermodus heeft twee parameters:
concurrency
- gelijktijdige uitvoering staat voor het aantal threads dat op Tough Day 2 wordt uitgevoerd. Op deze draden, zullen de tests worden uitgevoerd tot of de duur of er geen meer uit te voeren tests is.
waittime
- de wachttijd tussen twee opeenvolgende testuitvoeringen op dezelfde draad. De waarde moet in milliseconden worden uitgedrukt.
In het onderstaande voorbeeld ziet u hoe u de parameters kunt toevoegen met behulp van een van de opdrachtregels:
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest --runmode=normal concurrency=20
of door een geldig configuratiebestand te gebruiken:
runmode:
type : normal
waittime : 300
concurrency : 200
De constante belasting De looppaswijze verschilt van de normale looppaswijze door een constant aantal begonnen testuitvoeringen, eerder dan een constant aantal draden te produceren. U kunt het laden instellen met de parameter voor de uitvoeringsmodus met dezelfde naam.
Het testselectieproces is hetzelfde voor beide uitvoermodi en gaat als volgt te werk: alle tests weight
eigenschap, die de waarschijnlijkheid van uitvoering in een thread bepaalt. Als we bijvoorbeeld twee tests hebben, één met een gewicht van 5 en één met een gewicht van 10, is de kans dat de laatste twee keer zo groot is als de eerste.
Bovendien kunnen tests een count
eigenschap, die het aantal uitvoeringen tot een bepaald aantal beperkt. Nadat dit aantal wordt overgegaan, zullen geen verdere uitvoeringen van de test voorkomen. Alle testinstanties die reeds lopen zullen de looppas zoals gevormd beëindigen. Het volgende voorbeeld toont hoe te om deze parameters of bij de bevellijn toe te voegen of door een yaml configuratiedossier te gebruiken.
java -jar toughday2.jar --host=localhost --add CreateAssetTreeTest weight=5 --add CreatePageTreeTest weight=10 count=100 --runmode=normal concurrency=20
or
- add : CreateAssetTreeTest
properties :
name : UploadAsset
weight : 5
base : 3
foldertitle : IAmAFolder
assettitle : IAmAnAsset
count : 100
Als gevolg van parallelle uitvoeringen is het werkelijke aantal testuitvoeringen niet precies het bedrag dat is geconfigureerd in het dialoogvenster count
parameter. Verwacht een afwijking evenredig aan het aantal lopende draden (die door concurrency parameter
).
Een droge looppas ontleedt alle bepaalde input (bevellijnparameters of configuratiedossiers), die het met de gebreken samenvoegen en dan de resultaten uitvoert. Geen van de tests wordt uitgevoerd.
java -jar toughday2.jar --host=localhost --suite=toughday --add CreatePageTreeTest --dryrun=true
Langzame Dag 2 output zowel testmetriek als logboeken. Lees de volgende secties voor meer informatie.
Op Tough Day 2 worden momenteel 9 testmetriek gerapporteerd die u kunt evalueren. Statistieken met de &asteren; Het symbool wordt alleen gemeld na geslaagde uitvoering:
Naam | Beschrijving |
---|---|
Tijdstempel | Tijdstempel van de laatste voltooide testrun. |
Geslaagd | Aantal succesvolle looppas. |
Mislukt | Aantal mislukte looppas. |
Min* | Laagste uitvoeringstijd van de test. |
Max* | Hoogste duur van de uitvoering van de test. |
Mediaan* | Berekende mediane duur van alle testuitvoeringen. |
Gemiddelde&last; | Berekende gemiddelde duur van alle testuitvoeringen. |
StdDev* | De standaardafwijking. |
90p* | 90 percentiel. |
99p* | 99 percentiel. |
99.9p* | 99,9 percentiel. |
Real Throughput* | Het aantal regels gedeeld door de verstreken uitvoeringstijd. |
Deze metriek wordt geschreven met behulp van uitgevers die met de add
parameter (vergelijkbaar met het toevoegen van tests). Er zijn momenteel twee opties:
Standaard zijn beide uitgevers ingeschakeld.
Bovendien zijn er twee wijzen waarin de metriek worden gemeld:
Het volgende voorbeeld toont hoe te om te vormen intervals
parameter of bij de bevellijn of door een yaml configuratiedossier te gebruiken.
Door opdrachtregelparameters te gebruiken:
java -jar toughday2.jar --host=localhost --add CreatePageTreeTest --publishmode type=intervals interval=10s
Door een geldig configuratiebestand te gebruiken:
publishmode:
type : intervals
interval : 10s
tests:
-add : CreatePageTreeTest
Tough Day 2 maakt een logmap in dezelfde map als waar u Tough Day 2 hebt uitgevoerd. Deze map bevat twee typen logbestanden:
De logboeken worden niet overschreven, de verdere looppas zal berichten aan de bestaande logboeken toevoegen. De logboeken hebben verscheidene niveaus, voor meer informatie zie [loglevel parameter](/docs/experience-manager-64/developing/testing/tough-day.md#global-parameters)
.