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
Lepaskan: 2024-11-02 17:30:29
asal
927 orang telah melayarinya

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>
Salin selepas log masuk
  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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan