首頁 >Java >java教程 >以下是基於所提供文本的一些標題選項,重點關注'問題”方面: 選項 1(更直接): * 如何使用「cucumber-」並行運行 Cucumber 功能文件

以下是基於所提供文本的一些標題選項,重點關注'問題”方面: 選項 1(更直接): * 如何使用「cucumber-」並行運行 Cucumber 功能文件

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 13:41:02325瀏覽

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

並行執行Cucumber 功能文件

要並行執行Cucumber 功能文件,您可以利用名為cucumber-jvm-parallel 的插件-插件。使用方法如下:

  1. 將外掛程式加入您的POM:

    <code class="xml"><dependency>
      <groupId>com.github.temyers</groupId>
      <artifactId>cucumber-jvm-parallel-plugin</artifactId>
      <version>2.1.0</version>
    </dependency></code>
  2. 您設定🎜>您配置建置中的外掛程式:

    <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>
  3. 設定Surefire 外掛程式以呼叫TestNG 運作程式:

    <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>
  4. 共用WebDriver 實例:

    為了避免WebDriver 具有不同的執行緒實例,您必須實作一個共用WebDriver 類,以防止呼叫driver.quit() 方法:
    <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>
  5. 配置Hub 以支援並行執行:

    如果您打算運行超過50 個線程,則需要增加-DPOOL_MAX 值Hub。
    java -jar selenium-server-standalone-<version>.jar -role hub -DPOOL_MAX=512
  6. 執行功能檔:

    使用下列指令並行執行 Cucumber 檢定:
    mvn test

以上是以下是基於所提供文本的一些標題選項,重點關注'問題”方面: 選項 1(更直接): * 如何使用「cucumber-」並行運行 Cucumber 功能文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn