Rumah >Java >javaTutorial >Bagaimanakah saya boleh menggunakan Timun dengan pelaksanaan selari untuk mempercepatkan ujian BDD saya?

Bagaimanakah saya boleh menggunakan Timun dengan pelaksanaan selari untuk mempercepatkan ujian BDD saya?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 17:30:29901semak imbas

How can I use Cucumber with parallel execution to speed up my BDD tests?

Melaksanakan Fail Ciri Timun secara Selari

Pengenalan

Dalam persekitaran ujian moden, pelaksanaan ujian selari boleh meningkatkan kecekapan dan kelajuan proses ujian dengan ketara. Cucumber, rangka kerja pembangunan dipacu tingkah laku (BDD) yang popular, membenarkan pelaksanaan selari bagi fail ciri.

Pendekatan Berasaskan Plugin

Untuk mencapai pelaksanaan selari dalam Timun, anda boleh menggunakan timun- jvm-parallel-plugin. Pemalam ini secara dinamik mencipta kelas pelari ujian yang boleh dilaksanakan secara selari.

Konfigurasi

  1. Tambahkan Pemalam pada pom.xml:
<code class="xml"><dependency>
  <groupId>com.github.temyers</groupId>
  <artifactId>cucumber-jvm-parallel-plugin</artifactId>
  <version>2.1.0</version>
</dependency></code>
  1. Konfigurasikan Pemalam dalam pom.xml:
<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>
        <glue>foo, bar</glue>
        <outputDirectory>${project.build.directory}/generated-test-sources/cucumber</outputDirectory>
        <featuresDirectory>src/test/resources/features/</featuresDirectory>
        <cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir>
        <format>json</format>
      </configuration>
    </execution>
  </executions>
</plugin></code>

Invoke Generated Runner Classes

Tambah pemalam Maven Surefire untuk menggunakan kelas pelari yang dijana secara selari:

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

Shared WebDriver

Untuk melaksanakan ujian secara selari, contoh WebDriver mesti dikongsi dan tidak ditutup secara eksplisit dalam ujian. Kelas SharedDriver mencapai ini:

<code class="java">public class SharedDriver extends EventFiringWebDriver {
    private static WebDriver REAL_DRIVER = null;

    static {
        Runtime.getRuntime().addShutdownHook(CLOSE_THREAD);
    }

    public SharedDriver() {
        super(CreateDriver());
    }

    public static WebDriver CreateDriver() {
        WebDriver webDriver;
        if (REAL_DRIVER == null)
            webDriver = new FirefoxDriver();
        setWebDriver(webDriver);
        return webDriver;
    }
}</code>

Pertimbangan Tambahan

  • Pelaksanaan Selari dan Grid: Untuk prestasi optimum, gunakan grid dengan nod yang mencukupi (pelayar berdaftar dengan hab).
  • Memori Hub: Tingkatkan saiz kolam (cth., -DPOOL_MAX=512) untuk pemasangan Hub dengan bilangan nod yang tinggi (50 ).

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan Timun dengan pelaksanaan selari untuk mempercepatkan ujian BDD saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn