Folgendes versuche ich zu tun. Ich habe einen Test, der auf die Testseite geht und einige komplexe Aufgaben ausführt, eine Weile wartet und dann einen Screenshot macht, wenn der Test fehlschlägt, und das OCR-Tool für weitere Aufgaben verwendet. Ich möchte, dass derselbe Test in 10 Chrome-Browsersitzungen gleichzeitig ausgeführt wird. Wir versuchen, damit einen Quasi-Lasttest durchzuführen. Da der Test mit Bibliotheken von Drittanbietern bereits komplex genug ist, sieht die Verwendung eines WebDriver-Plugins für Jmeter nicht so aus hier machbar. Unabhängig davon, was ich versuche, scheint der Test nacheinander ausgeführt zu werden, anstatt 10 Browserfenster zu öffnen und parallel auszuführen. Folgendes habe ich bisher versucht, um mich nicht in den Interwebs umzusehen.
TestNG.xml Route
<suite name="UI Tests" parallel="methods" preserve-order="true" thread-count="10">
funktioniert nicht
Maven Route
Folgendes wurde in pom.xml hinzugefügt
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<forkCount>10</forkCount>
<reuseForks>true</reuseForks>
</configuration>
</plugin>
</plugins>
</build>
...
versuchte etwas leicht hackiges
Route des Datenanbieters
Bereitstellung eindeutiger Daten für den Test, damit möglicherweise derselbe Test gleichzeitig ausgeführt werden kann, jedoch ohne Erfolg.
@DataProvider(name="Unique")
public static Object[][] unique(){
return new Object[][] {
{"someValue"},
....
};
}
@Test(dataProvider="Unique")
public void test(String unique){
//test code
}
Keine der oben genannten Optionen hat für mich funktioniert, um denselben Test mehrmals gleichzeitig im Chrome-Browser auszuführen. Gibt es einen besseren Weg, dies zu erreichen?
Haben Sie versucht, die Argumente threadPoolSize und invocationCount zur Annotation @Test hinzuzufügen?
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen