แฉแแแแ แแแแงแแคแแแแแ แฅแแแแก แกแ แฃแแแ แแแขแแแแขแฃแ แแแแกแแแแแแแก แแแแแแแชแแแแแก แแฎแแแ แแแ แกแแแแแก แกแแฌแแ แแแ แแแ แแแแจแ แแแกแแจแแแแแ. แ แ แแฅแแ แฃแแแ, แแก แแแแแฎแแแก แแแขแแแแขแฃแ แคแฃแแฅแชแแฃแ แขแแกแขแแแก. แคแ แแแแแแขแแก แฅแแแแแ แแ แแก แแแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ , แแแฌแงแแแฃแแ แแแแแแฃแ แแแแฅแแแแแ แแ แแ แซแแคแแแแ แขแแกแขแแ แแแแ, แแแแแแแ Selenoid-แแ แแแจแแแแฃแแ แแ แแแแแกแแ แแฃแแแแแ แแแขแแขแแกแขแแก แแขแแแแแแ, build pipeline-แจแ Allure แแแแแ แแจแแ GitLab-แแก แแแแ แแแแแ แแ แกแแแแแแแ แแแแแฆแแ แแแแแ แ แแแขแแแแขแแแแชแแแก แแแกแขแ แฃแแแแขแ. แ แแ แแแแแแแ แแแแแแแแแแก แจแแฃแซแแแแ แแแแแแงแแแแ แแฃแแแแแ.
แกแแแแแ แแแแแฌแงแแ?
แแแขแแขแแกแขแแแแก แแแแกแแฎแแ แชแแแแแแแแ แแ แแแแกแแแแแจแ แแแแ แแแขแแแ แแ แแแแกแแแแก, แฉแแแ แแแญแแ แแแแแแ แแแขแแแแขแแแแชแแแก แฉแแ แฉแ, แ แแแแแแช แจแแแซแแแแ แแแฅแแแแแ แจแแแชแแแแแก แฉแแแแ แกแแญแแ แแแแแแแก แจแแกแแแแแแกแแ. แแแแแแฃแ แจแแแแฎแแแแแจแ, แแแแแแแ แแแแแฆแ แแ แแ แกแขแแแแแ แขแ แแแขแแแแขแฃแ แ แขแแกแขแแ แแแแก แซแ แแแแกแแแแก, แ แแแแแแช แแแแแขแแ แแแฃแแแ แแแแกแแแแแจแ แแแขแแขแแกแขแแแแก แฉแแกแแ แแแแแ. แแแแฎแแ แชแแแแแแแกแแแแก แฉแแแ แแแแ แฉแแแ แจแแแแแแ แขแแฅแแแแแแแแแ:
- แฏแแแ,
- แแแแแแแ,
- แกแแแแแ,
- แแแขแ แ+JUNIT 4,
- แแแแแแแแแแแแ,
- GitLab
แ แแขแแ แแก แแแแแ แแขแฃแแ แแแแ แแแ? Java แแ แแก แแ แ-แแ แแ แงแแแแแแ แแแแฃแแแ แฃแแ แแแ แแแขแแแแขแฃแ แ แขแแกแขแแแแกแแแแก แแ แแแกแแ แกแแฃแแ แแแก แแฃแแแแก แงแแแแ แฌแแแ แ. แกแแแแแ แแจแแแ แ แแแแแกแแแแแแ. แแแขแ แ, แกแฎแแ แกแแแแแฎแแแแแ แแ แแแ, แฃแแแ แแแแแ แแแก แแแแแ แแแขแแแแขแฃแ แ แขแแกแขแแแแก แจแแแแแแแแก แแแแแ แ แแ แแแแแ แขแแแแแขแแแแก แแฎแ แแแแ, แ แแแแแแแช แฉแแ แแฃแแแ แกแแฎแแแแซแฆแแแแแแ แขแแกแขแแ แแแแจแ.
แแ แแ แซแแคแแแแ แขแแกแขแแแ
แแแแกแแแแแก, แ แแ แแแ แแแแ แฎแแแแฎแแ แแ แแแแแแแแแแแ, แฉแแแ แแแแฆแแ แแแแแแแแ แแแ GitHub-แแก แกแฎแแแแแกแฎแแ แกแแชแแแแแแแแ, แ แแแแ แช แฉแแ แฉแแก แกแแคแฃแซแแแแ แแ แแแแแฎแแแแแ แแกแแแ แฉแแแแแแแก. แฉแแแ แจแแแฅแแแแแ แกแแชแแแ แแแแแแ แ แแแแแแแแแแแกแแแแก แแแขแแขแแกแขแแก แฉแแ แฉแแก แแแ แแแแ แแ แกแแชแแแ แฉแแแแก แแแ แแแแ แแแขแแขแแกแขแแแแก แแแแฎแแ แชแแแแแแแก แแฅแ แแก แแแแแแแแแ. แแแแแแฃแ แแฃแแแก แฃแแแ แแแฆแ แแฅแ แแก แกแฃแ แแแ แแ แจแแแแฃแจแแแแแแแ แแแกแจแ แขแแกแขแแแ, แแแแ แแแแแแ แแแ แกแแแฃแแแ แแ แแแฅแขแแแ. แฉแแแ แแแแแแ แชแแแแ แแแ GitLab-CI แแแแแจแ, แ แแแแแแแช แแแแแงแแแแ:
- แแแแแแฃแแ แแ แแแฅแขแแกแแแแก แงแแแแ แฌแแ แแแแแแแ แแแขแแขแแกแขแแก แงแแแแแแฆแแฃแ แ แแแจแแแแ;
- แแแจแแแแ แกแแแจแแแแแแ แแแแกแแแแแจแ.
แแแแแแแ แ แแแแแแแแ แขแแกแขแ แแงแ แแ แแกแแแ แแ แ แแแแแแจแ แฉแแขแแ แแ. Windows runner GitLab-แแ แแ แแ แซแแคแแแแ แแแจแแแแ แกแแแแแแ แแแ แแแ แแแแ แแแแแแ: แขแแกแขแแแแ แกแแขแแกแขแ แกแแแแ แซแแแแแ แแกแฃแแฃแฅแแ แแขแแแ แแ แแ แแแแฅแแแก แแ แแแแแแงแแแ แ แแกแฃแ แกแ.
แแ แแแ แแแแแแแแแแแจแ แแแขแแขแแกแขแแแแก แ แแแแแแแแ แกแฃแ แฃแคแ แ แแ แฃแคแ แ แแ แแแแแแแแแ แแ แแแ แแแ แแแแแฃแ แแ แแแจแแแแแแ แแคแแฅแ แแแแแ, แ แแชแ แกแ แฃแแ แกแแ แแแแ แแแแฎแแแแแแ แกแแแ แกแแแแแก แแแแแแแแแแแจแ แแแแฌแงแ. แแกแแแ แแแแแฉแแแ แกแฎแแ แแ แแแแแแแแ:
- แฉแแแ แแแ แแแแแแแกแขแฃแ แแ, แ แแ แขแแกแขแแแ แกแขแแแแแฃแ แ แแงแ;
- แขแแกแขแแแ, แ แแแแแแแช แแแแแแแ แ แแแแแแฏแแ แแ แฉแแขแแ แแ แแแแแแแแ แแ แแแแ แแขแแ, แฎแแแแแฎแแ แแแแ แแฃแ แแฅแแ CI-แจแ.
แแแขแแขแแกแขแแแแก แแแงแแแแแแก แแแแแแแแ:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<skipTests>${skipTests}</skipTests>
<testFailureIgnore>false</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.9</version>
</plugin>
</plugins>
Allure แแแแแ แแจแแก แแแแแแแแ
แ แแแแแก แแแขแแแ แแแ แขแแกแขแแแแก แแ แแก (8 แแแ แแแ, 8 แแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ, 1 แซแแคแ)
แแ แแ แซแแคแแแแ แขแแกแขแแแแก แแแแแแแแ แแฎแแ แแแแ:
- แแแ แขแแแ แแแงแแแแแ แแ แแแจแแแแ;
- CI-แจแ แแแจแแแแแแ แแ แแฅแขแแแฃแแแ แแ แแแแกแฎแแแแแแแ แแแแแแแแ แแแ แแแจแแแแแแแกแแแ;
- แขแแกแขแแแ แแ แแแฅแแแแแแก แแ แแแแแแแแ;
- แแแแแแแแฃแ แ แแแแฎแแแแแแ แแแ แแแแแแ แ แแกแฃแ แกแแแแกแแแแก.
แแ แแ แซแแคแแแแ แขแแกแขแแแแก แแแแแแแแแแแแแ:
- แแแกแ แฃแแแแแก แซแแแแแ แแแแ แแ แ แแแกแญแแ แแแแ;
- แขแแกแขแแแแก แฎแแแแ แซแแแแ แกแขแแแแแแแแชแแ;
- แแแ แแแแแแ แ แแกแฃแ แกแแแแก แแ แแแคแแฅแขแฃแ แ แแแแแงแแแแแ, แฃแแแแฃแ แแกแแ แแแแแแ แแแแแงแแแแแ.
แขแแกแขแแแ JVM แฉแแแแแแแแ
แแแแก แแแแ, แ แแ แฉแแแ แแ แแแแ แฃแแแ แซแแคแแแแ แฃแกแแคแ แแฎแ แแแแแ แกแแแแแแกแ แคแ แแแแฃแ แแก แแแแแ แแแแกแแก, แแแ แแแแแฃแ แแ แแแจแแแแแก แงแแแแแแ แแจแแแ แ แแแ แแงแ
Selenoid แกแแ แแแ แ แแแแฅแแแแแ แแแแฅแแแแแ 32 แแแ แแแแ แแ 24 GB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแแ. แแแแแขแ แแแฌแแกแแ 48 แแ แแฃแแแ แแ - 1,5 แแแแ แแแแ แแแ แแแแ แแ แแแแฎแแแแแแ 400 แแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ. แจแแแแแแ, แขแแกแขแแก แแ แ แจแแแชแแ แแ แกแแแ แกแแแแแแแ 40 แฌแฃแแแแแ. แ แแแแแแแก แแแฉแฅแแ แแแแ แฎแแแ แจแแฃแฌแงแ แกแขแแแแแแแแชแแแก แแ แแแแแแแก แแแแแญแ แแก: แแฎแแ แฉแแแ แจแแแแแซแแแ แกแฌแ แแคแแ แแแแฃแจแแแ แแฎแแแ แแแขแแขแแกแขแ 20-30-แฏแแ , แกแแแแ แแ แแแแ แฌแแฃแแแแ, แ แแ แแกแแแ แกแแแแแแแ แแฃแจแแแแแแแ.
แแแแแฌแงแแแขแแก แแแ แแแแ แแแแแ แแงแ แแแ แแแแแแ แ แแกแฃแ แกแแแแก แแแฆแแแ แแแแแงแแแแแ แแชแแ แ แ แแแแแแแแแก แแแ แแแแแฃแ แ แซแแคแแแแ: 4 แแแ แแแแ แแ 8 GB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแแแ, แขแแกแขแแแ แกแขแแแแแฃแ แแ แแแแแแแ แแ แแฃแแแขแแก 6 แซแแคแแ. แแแแ แ แแแแฃแกแ: แแแแแแแขแ แฌแแ แแแฅแแแแก แแแ แแแแแ แแแแกแแแก แแแแแแฃแแ แกแชแแแแ แแกแแแแก, แแแฃแฎแแแแแแ แแแแกแ, แแฃ แ แแแแแแ แแแแแแแแ แแแจแแแแฃแแ.
แแแแจแแแแแแแแแแ! แแ แแแแแกแชแแ แชแแแแแ แขแแแแแแ argLineแแแแแแแแแ, แแกแ:
<argLine>-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"</argLine>
โฆ
Mvn โDTAGS="@smoke"
แแฃ แขแแแก แแ แแแแ แแแแแแแ, แแแแแแแขแ แแแแแแแฃแจแแแแแก แแแ แแแแแแแแก แงแแแแ แขแแกแขแแกแแแแก, แแแฃ แแก แจแแแชแแแแ แแแฃแจแแแก แงแแแแ แขแแกแขแ, แแแแแขแแแแก แแกแแแ แแแจแแแแแกแแแแแแ แแ แจแแฅแแแแก แแ แแแแแ JVM แฉแแแแแแ.
แกแฌแแ แแ แฉแแแแแแก แชแแแแแ แขแแแแ แขแแแแแ แแแแแแแขแแก แแแ แแแแขแ แแแจแ, แแฎแแแแ แแแแแแแแ แฅแแแแแ. แฉแแแ แแแแ แจแแแแฌแแแแฃแแ แกแฎแแ แแแแแแแแก แแฅแแ แแ แแแแแแแแ Allure แแแแฃแแแก แแแแแแจแแ แแแแกแแแ แแแแแแจแแ แแแแ.
แแแจแแแแแก แแ แแแก แแแแแแแแ 6 แแแแแ แขแแกแขแแกแแแแก แแ แแกแฌแแ แ แแแ แแแแขแ แแแแ:
[INFO] Total time: 03:17 min
แขแแกแขแแก แแแจแแแแแก แแ แแแก แแแแแแแแ, แแฃ แแแ แแแแแ แแแแแแขแแแแ แขแแแ mvn... โDcucumber.options:
[INFO] Total time: 44.467 s
แแแขแแขแแกแขแแแแก แแแงแแแแแแก แแแแแแแแ:
<profiles>
<profile>
<id>parallel</id>
<build>
<plugins>
<plugin>
<groupId>com.github.temyers</groupId>
<artifactId>cucumber-jvm-parallel-plugin</artifactId>
<version>5.0.0</version>
<executions>
<execution>
<id>generateRunners</id>
<phase>generate-test-sources</phase>
<goals>
<goal>generateRunners</goal>
</goals>
<configuration>
<tags>
<tag>${TAGS}</tag>
</tags>
<glue>
<package>stepdefs</package>
</glue>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<forkCount>12</forkCount>
<reuseForks>false</reuseForks>
<includes>**/*IT.class</includes>
<testFailureIgnore>false</testFailureIgnore>
<!--suppress UnresolvedMavenProperty -->
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" -Dcucumber.options="--plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm TagPFAllureReporter --plugin pretty"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
Allure แแแแแ แแจแแก แแแแแแแแ (แงแแแแแแ แแ แแกแขแแแแแฃแ แ แขแแกแขแ, 4 แแแแแแ แแแ)
แ แแแแแก แแแขแแแ แแแ แขแแกแขแแแแก แแ แแก (8 แแแ แแแ, 8 GB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ, 12 แซแแคแ)
แแแแแแแแ:
- แแแ แขแแแ แแแงแแแแแ - แแฅแแแ แฃแแ แแแแ แฃแแแ แแแแแแขแแ แแแแแแแขแ;
- แแแแ แ แแแแแแแแแ แขแแกแขแแแแก แแ แแแ แแฃแแแ แจแแกแ แฃแแแแแก แจแแกแแซแแแแแแแ;
- แขแแกแขแแก แกแขแแแแแแแแชแแแก แแแฉแฅแแ แแแ 1 แแแแแฏแแก แฌแงแแแแแแ.
Cons:
- แกแแญแแ แแ แแ แแแแแ OS/แแแแขแแแแแ แ;
- แ แแกแฃแ แกแแก แแแฆแแแ แแแฎแแแ แแแ แแแแแแฃแแ แฉแแแแแแกแแแแก;
- แแแแฃแแ แแแซแแแแแแฃแแแ แแ แแฆแแ แแ แแก แแฎแแ แแแญแแ แแแ.
แ แแแแ แแแแซแแแแ แแ แแกแขแแแแแฃแ แแแ
แกแแขแแกแขแ แกแแแแแแ แแ แแ แแก แแแแแแฃแ แ, แแกแแแ แ แแแแ แช แแแแแ แแแขแแขแแกแขแแแ. แแแกแแแแแ แ แแ แแ แแก, แ แแ แฉแแแ แแแแฅแแก แแ แแแ แแ แคแฎแแแแ แ แขแแกแขแ. แแแแแแ แกแแแแจแแแแแจแ
แแแขแแขแแกแขแแแแก แแแงแแแแแแก แแแแแแแแ:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
โฆ.
<rerunFailingTestsCount>2</rerunFailingTestsCount>
โฆ.
</configuration>
</plugin>
แแ แแแจแแแแแกแแก: mvn โฆ -Dsurefire.rerunFailingTestsCount=2โฆ
แ แแแแ แช แแแ แแแแขแ, แแแแงแแแแ Maven แแแ แแแแขแ แแแ PowerShell แกแแ แแแขแแกแแแแก (PS1):
Set-Item Env:MAVEN_OPTS "-Dfile.encoding=UTF-8 -Dsurefire.rerunFailingTestsCount=2"
แแแแแแแแ:
- แแ แแ แแก แกแแญแแ แ แแ แแแก แแแแแ แแแ แแ แแกแขแแแแแฃแ แ แขแแกแขแแก แแแแแแแแแแแแแ, แ แแแแกแแช แแก แแแแ แแฃแแแ;
- แขแแกแขแแก แกแแแแแ แกแขแแแแแฃแ แแแแก แแ แแแแแแแแ แจแแแซแแแแ แจแแแชแแ แแแก.
Cons:
- แแชแฃแ แแแ แแแคแแฅแขแแแแก แแแแแขแแแแแ แจแแแซแแแแ;
- แแแจแแแแแก แแ แ แแแ แแแแ.
แแแ แแแแแฃแ แ แขแแกแขแแแ แแแขแ แ 4 แแแแแแแแแแแกแแแ
แขแแกแขแแแแก แ แแแแแแแแ แงแแแแแแฆแแฃแ แแ แแแ แแแแแแ. แฉแแแ แแกแแ แแแคแแฅแ แแ แกแแ แแแแแก แแแฉแฅแแ แแแแแ. แแแ แแ แแแแกแ, แแแแแแแ แ แแช แจแแแซแแแแ แแแขแ แขแแกแขแแก แแแขแแแ แแ แแแ แแแแแชแฎแแแแก แจแแแ แแแแก แแแแกแแแแแจแ. แแ แแขแแแฃแแ แคแแฅแขแแ แ แแงแ แแก, แ แแ แแแ แแแแแแแ แแแแแแก แซแแแแแ แแแแ แแ แ แแแกแญแแ แแ Maven แแแแฃแแแก แแแแแงแแแแแแ แแแ แแแแแฃแ แแ แแแจแแแแแกแแก.
แแ แแ แแก แแแขแ แ 4 แฃแแแ แแแแแจแแแแฃแแ แแงแ, แแแแขแแ แแแแแแฌแงแแแขแแ แแ แแแ แกแแแกแแแแก แแแ แแแแก แแแแแฌแแ แ. แแแแแจแแแแแก แแแขแแแจแ แแแแแแแ แแแแ แแแ แแแแแฃแ แแ แแแจแแแแแก แซแแคแแแแก แแแแแแ. แแแแ แแฃแแแ แแกแ แฃแแแ แงแแคแแแแงแ:
- แกแแแ แซแแแแแแ แแแแฉแฅแแ แแก แแแขแแขแแกแขแแแแก แแแจแแแแ แซแแคแแแแก แ แแแแแแแแแก แแแแ แแแ;
- แแฆแแแคแฎแแ แ แแ แแแก แแแแแ แแแ แแแแแแฃแแ แแแขแแขแแกแขแแกแแแแก แแแ แแแแแแแ แแแแแ แแ แแแแกแแแแก.
แแ แแแแแกแแ แแฃแแแแแ แแแขแแขแแกแขแแแแกแแแแก แฉแแ แฉแแก แแแขแแแแแแชแแ แแ แช แแกแ แ แแฃแแ แแฆแแแฉแแแ. Cucumber 4 แแฌแแ แแแแแก แแแแแแฃแ แแแแแแแแฃแแแฃแ แขแแกแขแก แแแแแงแแคแแ แซแแคแแ แแแแแแแ แแแแแแแ, แแแแขแแ แแแแแแ แแ แฉแแแฃแแแแ แแแ แกแขแแขแแแฃแ แ แ แแ แฃแแ แแแแ แแแแแแแแแ ThreadLocal แชแแแแแแแแ.
Idea refactoring แแแกแขแ แฃแแแแขแแแแก แแแแแงแแแแแแ แแแแแแ แขแแชแแแกแแก แแแแแแ แแ แจแแแแแฌแแแ แแแแแแแแ, แกแแแแช แชแแแแแ แจแแแแ แแแฃแแแ (แแแแแแแแแ, แแฃแแแก แจแแแแฌแแแแ). แแแ แแ แแแแกแ, แแฅแแแ แฃแแแ แแแแแแขแแ Allure แแแแฃแแ Junit Runner แแแแกแแก แแแแขแแชแแแจแ.
แแแขแแขแแกแขแแแแก แแแงแแแแแแก แแแแแแแแ:
<profile>
<id>parallel</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<useFile>false</useFile>
<testFailureIgnore>false</testFailureIgnore>
<parallel>methods</parallel>
<threadCount>6</threadCount>
<perCoreThreadCount>true</perCoreThreadCount>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
Allure แแแแแ แแจแแก แแแแแแแแ (แงแแแแแแ แแ แแกแขแแแแแฃแ แ แขแแกแขแ, 5 แแแแแแ แแแ)
แ แแแแแก แแแขแแแ แแแ แขแแกแขแแแแก แแ แแก (8 แแแ แแแ, 8 GB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ, 24 แซแแคแ)
แแแแแแแแ:
- แ แแกแฃแ แกแแแแก แแแแแแ แแแฎแแแ แแแ;
- แแจแแแแแฃแ แ แแฎแแ แแแญแแ แ แแแขแ แแกแแแ - แแแแแขแแแแแ แฎแแแกแแฌแงแแแแ แแ แแ แแก แกแแญแแ แ;
- แแ แแชแแกแแ แแก แแแ แแแแ 6-แแ แแแขแ แซแแคแแแแก แแแจแแแแแก แจแแกแแซแแแแแแแ.
Cons:
- แแฅแแแ แฃแแแ แแแ แฌแแฃแแแแ, แ แแ แแแแ แแฎแแ แก แฃแญแแ แก แแ แแแแ แฎแ แแฎแแแแ แจแแกแ แฃแแแแแก;
- แจแแกแแแแก แแแ แแแ แ แแแ แแแแ.
Allure แแแแแ แแจแแแก GitLab-แแก แแแแ แแแแแ
แแ แแแแแซแแแแแแ แจแแกแ แฃแแแแแก แจแแแแฆแแแแก แจแแแแแ, แฉแแแ แแแแแฌแงแแ แแแชแแแแแแ แแแขแ แแ แแแก แแแฎแแ แฏแแ แแแแแ แแจแแแแก แแแแแแแแ. แแ แแ แแก, แฉแแแ แฃแแแ แแแขแแแ แแแ แแแแแแฃแแ แแแแแ แแจแ, แ แแแแ แช แแ แขแแคแแฅแขแ GitLab-แจแ, แจแแแแแ แแแแแแแฌแแ แแ แแ แแแแแแแแแกแแ แแแ. แแก แแ แแ แแก แซแแแแแ แแแกแแฎแแ แฎแแแแแ แแ แแแแ แแ แ แกแญแแ แแแแ. แแ แแฃ แแแแแแก แกแฃแ แก แแแแแ แแจแแก แแแฎแแ แแแแแ, แแแจแแ แแแ แแแแแ แแแแ แแชแแแแแก แแแแแแแแ แแแกแญแแ แแแแแ. แแแแแแแแ แแแแแฎแแแฃแ แแแแก แฃแคแ แ แกแฌแ แแคแแ แแแฆแแแ แแ แแแแแกแแแแแ แแแแแแแ - GitLab แแแแ แแแแ. แแก แแ แแก แฉแแจแแแแแฃแแ แคแฃแแฅแชแแ, แ แแแแแแช แฎแแแแแกแแฌแแแแแแ GitLab-แแก แงแแแแ แแแแ แแแ แกแแแจแ. แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแแกแแ แกแขแแขแแแฃแ แ แกแแแขแแแ แแฅแแแแก แกแแ แแแ แแ แแ แจแแฎแแแแแ แแแแแ แแแ แแแแแ แ แแแฃแแแก แกแแจแฃแแแแแแ.
Allure-แแก แแแแแ แแจแแแแก แงแแแแ แแแ แแแแก แกแฃแ แแแ แแแแแฆแแแฃแแแ GitLab-แแก แแแแ แแแแแ. แกแแ แแแขแ GitLab-แแก แแแแ แแแแแ แแแฎแกแแแแแแก แแแแกแแแแแกแแแแแ - Windows PowerShell-แจแ (แแแแแแแ แกแแญแแ แแ แแแขแแแแขแฃแ แ แขแแกแขแแแแก แแแจแแแแ):
New-Item -ItemType directory -Path $testresulthistory | Out-Null
try {Invoke-WebRequest -Uri $hst -OutFile $outputhst}
Catch{echo "fail copy history"}
try {Invoke-WebRequest -Uri $hsttrend -OutFile $outputhsttrnd}
Catch{echo "fail copy history trend"}
mvn allure:report
#mvn assembly:single -PzipAllureReport
xcopy $buildlocationtargetsiteallure-maven-plugin* $buildlocationpublic /s /i /Y
แจแแแแแแ, แ แแ
แแกแ แ แแ, แแฃ แคแแฅแ แแแแแ แแแแแ, แแญแแ แแแแแ แแฃ แแ แ Thread-แแก แฃแกแแคแ แแฎแ แแแแ Cucumber autotest แคแแ แแแแแจแ, แแฎแแ แแแกแฃแฎแ แแจแแแ แแ - Cucumber 4-แแ แแแกแ แแแแแ แแแ แแแ แขแแแแ, แ แแแแช แแแแจแแแแแแแแแ แแแแ แแแก แแ แแแ แแฃแแแ แแแจแแแแฃแแ แแแแแแแก แ แแแแแแแแแก. แขแแกแขแแแแก แแแจแแแแแก แแ แแแแแแแ, แแแแฎแแ แแฎแแแ แแแแ แแขแแก แแฃแจแแแแแก แกแแแแแแแแแแ แแ แกแแขแแกแขแ แกแแแแแแ.
แแ แแฅแขแแแแ แแฉแแแแ, แ แแ แซแแคแแแแ แแแขแแขแแกแขแแแแก แแแจแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแฃแแแแแ แจแแแแชแแ แแ แ แแกแฃแ แกแแแแก แแแฎแแแ แแแ แกแแฃแแแแแกแ แจแแกแ แฃแแแแแ. แ แแแแ แช แแ แแคแแแแแแแแ แฉแแแก, แซแแคแแแแก แแแแ แแแแแแ แแ แแฌแแแแก แแกแแแแก แแฉแฅแแ แแแแก แจแแกแ แฃแแแแแก แขแแกแขแแแจแ. แแฃแแชแ, แฉแแแ แจแแแซแแแแ 2-แแ แแแขแ แแแขแแแแขแฃแ แ แขแแกแขแแก แแแแแขแแแ แแแแแแแชแแแก build-แจแ, แ แแแแแแช 200 แแแแแแแ แแแแแแช แแ แแแแแก แแแแฎแแแแแแ 5 แฌแฃแแจแ. แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแแฆแแ แกแฌแ แแคแ แแแแแฎแแแฃแ แแแ แแแแแแ แแ, แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแแแฎแแ แชแแแแแ แชแแแแแแแแแ แแ แแแแแ แแแแแแแ แแ แแ แแชแแแฃแ แ.
แฌแงแแ แ: www.habr.com