Dag

Wat is Hoest Dag 2

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 toepassing letten.

Hoe wordt Tough Day 2 uitgevoerd

Download de nieuwste versie van Tough Day 2 van Adobe Repository. Nadat u de toepassing hebt gedownload, kunt u deze uit het vak uitvoeren door de parameter host op te geven. In het volgende voorbeeld wordt de AEM instantie lokaal uitgevoerd, zodat de waarde localhost wordt gebruikt:

java -jar toughday2.jar --host=localhost

De standaardreeks die na het toevoegen van de parameters loopt wordt genoemd toughday. Het bevat de volgende gebruiksgevallen:

  • Pagina's en live kopieën maken voor deze pagina's (inclusief rollouts)
  • Homepage ophalen
  • Zoekopdrachten uitvoeren in querybuilder
  • Elementhiërarchieën maken
  • Elementen verwijderen

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 vermeden door de installsamplecontent parameter aan false te plaatsen, maar herinner dat u ook de standaardwegen voor de tests zou moeten veranderen die u van plan bent te lopen. Als de pot zonder parameters in werking wordt gesteld, toont Tough 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]
OPMERKING

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.

Help opvragen

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

Algemene parameters

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)ours en (d)dagen. 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

Aanpassen

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. Voor extra details, zie deze toughday.yaml configuratie en de yaml configuratievoorbeelden in de hieronder secties.

Een nieuwe test toevoegen

Als u niet de standaard toughday reeks wilt gebruiken, kunt u een test van uw kiezen toevoegen door de add parameter te gebruiken. De voorbeelden tonen hieronder hoe te om de CreateAssetTreeTest test of toe te voegen 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

Meerdere exemplaren van dezelfde test toevoegen

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

De testeigenschappen wijzigen

Als u een of meer testeigenschappen moet wijzigen, kunt u die eigenschap toevoegen aan de opdrachtregel of het originele configuratiebestand. Om alle beschikbare testeigenschappen te zien voeg de --help <TestClass/PublisherClass> parameter aan de bevellijn toe, 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 eigenschap template voor de test CreatePageTreeTest wijzigt met behulp van opdrachtregelparameters of een eenvoudig configuratiebestand.

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

Werken met vooraf gedefinieerde testsuites

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 de add parameter en specificerend de gerichte vooraf bepaalde reeks.

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 parameter config. 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 in het name bezit van de Klasse van de Test vinden. Lees de sectie Testeigenschappen wijzigen voor meer informatie over het zoeken naar testeigenschappen.

In het voorbeeld onder de standaardelementtitel voor CreatePageTreeTest (genoemd UploadAsset) wordt veranderd 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 uit de standaardconfiguratie met behulp van de parameter exclude. Gelieve te merken op dat u ook de reeksnaam en de daadwerkelijke naam van de test (niet test C lass naam) moet specificeren. U kunt de testnaam in het name bezit van de testklasse vinden. In het onderstaande voorbeeld wordt de CreatePageTreeTest (genoemd UploadAsset) test verwijderd uit de aanraaksuite.

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

Modi uitvoeren

Dag 2 van de tijd kan in één van de volgende wijzen lopen: normal en constante load.

De normal loopwijze 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 lading loopwijze 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.

Selectie testen

Het testselectieproces is hetzelfde voor beide uitvoermodi en gaat als volgt te werk: alle tests hebben een weight bezit, dat de waarschijnlijkheid van uitvoering in een draad 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 bezit hebben, 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
OPMERKING

Door parallelle uitvoeringen, zal het daadwerkelijke aantal testlooppas niet precies de hoeveelheid zijn die in de count parameter wordt gevormd. Verwacht een afwijking evenredig aan het aantal lopende draden (die door concurrency parameter worden gecontroleerd).

Droog

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

Uitvoer

Langzame Dag 2 output zowel testmetriek als logboeken. Lees de volgende secties voor meer informatie.

Metrisch testen

Op Tough Day 2 worden momenteel 9 testmetriek gerapporteerd die u kunt evalueren. Metriek met het * symbool worden slechts gemeld na succesvolle looppas:

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* 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 de hulp van uitgevers die met de add parameter (gelijkaardig aan het toevoegen van tests) kunnen worden toegevoegd. Er zijn momenteel twee opties:

  • CSVPublisher - de uitvoer is een CSV-bestand.
  • ConsolePublisher : de uitvoer wordt weergegeven in de console.

Standaard zijn beide uitgevers ingeschakeld.

Bovendien zijn er twee wijzen waarin de metriek worden gemeld:

  • De simple publicatiemodus - rapporteert de resultaten vanaf het begin van de uitvoering tot het moment van publicatie.
  • De intervallen publicatiemodus - rapporteert de resultaten in een bepaald tijdkader. U kunt het tijdkader met interval plaatsen publiceert wijzeparameter.

Het volgende voorbeeld toont hoe te om de intervals parameter of bij de bevellijn of door een yaml configuratiedossier te vormen.

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

Logboekregistratie

Tough Day 2 maakt een logmap in dezelfde map als waar u Tough Day 2 hebt uitgevoerd. Deze map bevat twee typen logbestanden:

  • toughday.log: bevat berichten met betrekking tot de toepassingsstatus, foutopsporingsinformatie en globale berichten.
  • toughday_<testname>.log: berichten met betrekking tot de opgegeven test.

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).

Op deze pagina