Heim > Java > javaLernprogramm > Hauptteil

Hier sind einige Titeloptionen, die auf dem bereitgestellten Text basieren und sich auf den Aspekt „Frage' konzentrieren: Option 1 (direkter): * Wie führe ich Cucumber-Funktionsdateien parallel mit dem Befehl „cucumber-' aus?

Mary-Kate Olsen
Freigeben: 2024-10-26 13:41:02
Original
239 Leute haben es durchsucht

Here are a few title options based on the provided text, focusing on the

Cucumber-Feature-Dateien parallel ausführen

Um Cucumber-Feature-Dateien parallel auszuführen, können Sie ein Plugin namens „gurke-jvm-parallel-“ nutzen. Plugin. So verwenden Sie es:

  1. Plugin zu Ihrem POM hinzufügen:

    <code class="xml"><dependency>
      <groupId>com.github.temyers</groupId>
      <artifactId>cucumber-jvm-parallel-plugin</artifactId>
      <version>2.1.0</version>
    </dependency></code>
    Nach dem Login kopieren
  2. Konfigurieren das Plugin in Ihrem Build:

    <code class="xml"><plugin>
      <groupId>com.github.temyers</groupId>
      <artifactId>cucumber-jvm-parallel-plugin</artifactId>
      <version>2.1.0</version>
      <executions>
        <execution>
          <id>generateRunners</id>
          <phase>generate-test-sources</phase>
          <goals>
            <goal>generateRunners</goal>
          </goals>
          <configuration>
            <!-- Package names for glue code -->
            <glue>com.example.cucumber</glue>
            <!-- Output directory for generated runner classes -->
            <outputDirectory>${project.build.directory}/generated-test-sources/cucumber</outputDirectory>
            <!-- Features directory -->
            <featuresDirectory>src/test/resources/features/</featuresDirectory>
            <!-- Output directory for Cucumber reports -->
            <cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir>
            <!-- Output format -->
            <format>json</format>
            <!-- Strict property -->
            <strict>true</strict>
            <!-- Monochrome property -->
            <monochrome>true</monochrome>
            <!-- Tags to run -->
            <tags></tags>
            <!-- Filter features by tags -->
            <filterFeaturesByTags>false</filterFeaturesByTags>
            <!-- Use TestNG runners -->
            <useTestNG>false</useTestNG>
            <!-- Naming scheme -->
            <namingScheme>simple</namingScheme>
            <!-- Naming pattern -->
            <namingPattern>Parallel{c}IT</namingPattern>
            <!-- Parallel scheme -->
            <parallelScheme>SCENARIO</parallelScheme>
          </configuration>
        </execution>
      </executions>
    </plugin></code>
    Nach dem Login kopieren
  3. Konfigurieren Sie das Surefire-Plugin zum Aufrufen von TestNG-Runnern:

    <code class="xml"><plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.19</version>
      <configuration>
        <forkCount>5</forkCount>
        <reuseForks>true</reuseForks>
        <includes>
          <include>**/*IT.class</include>
        </includes>
      </configuration>
    </plugin></code>
    Nach dem Login kopieren
  4. WebDriver-Instanz freigeben:
    Um unterschiedliche Thread-Instanzen des WebDriver zu vermeiden, müssen Sie eine gemeinsam genutzte WebDriver-Klasse implementieren, die verhindert, dass die Methode „driver.quit()“ aufgerufen wird:

    <code class="java">import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.support.events.EventFiringWebDriver;
    
    public class SharedDriver extends EventFiringWebDriver {
      private static WebDriver REAL_DRIVER = null;
    
      public SharedDriver() {
        super(CreateDriver());
      }
    
      public static WebDriver CreateDriver() {
        WebDriver webDriver;
        if (REAL_DRIVER == null) {
          webDriver = new FirefoxDriver();
          setWebDriver(webDriver);
        }
        return webDriver;
      }
    
      public static void setWebDriver(WebDriver webDriver) {
        REAL_DRIVER = webDriver;
      }
    
      public static WebDriver getWebDriver() {
        return REAL_DRIVER;
      }
    
      @Override
      public void close() {
        if (Thread.currentThread() != CLOSE_THREAD) {
          throw new UnsupportedOperationException("You shouldn't close this WebDriver. It's shared and will close when the JVM exits.");
        }
        super.close();
      }
    }</code>
    Nach dem Login kopieren
  5. Konfigurieren Sie den Hub zur Unterstützung der parallelen Ausführung:
    Wenn Sie mehr als 50 Threads ausführen möchten, müssen Sie den -DPOOL_MAX-Wert für erhöhen Hub.

    java -jar selenium-server-standalone-<version>.jar -role hub -DPOOL_MAX=512
    Nach dem Login kopieren
  6. Führen Sie die Funktionsdateien aus:
    Führen Sie Ihre Gurkentests parallel mit dem folgenden Befehl aus:

    mvn test
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die auf dem bereitgestellten Text basieren und sich auf den Aspekt „Frage' konzentrieren: Option 1 (direkter): * Wie führe ich Cucumber-Funktionsdateien parallel mit dem Befehl „cucumber-' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!