Java 诱惑:目标文件夹中的环境文件在maven clean上被删除。如何在每次构建时生成它?
说明中说要将environment.xml添加到Allure results目录()中,但该文件夹在mvn clean上被删除,因此文件也随之被删除。有没有办法在每次构建时生成此文件Java 诱惑:目标文件夹中的环境文件在maven clean上被删除。如何在每次构建时生成它?,java,maven,testng,allure,Java,Maven,Testng,Allure,说明中说要将environment.xml添加到Allure results目录()中,但该文件夹在mvn clean上被删除,因此文件也随之被删除。有没有办法在每次构建时生成此文件 谢谢。只需输入您的src/main/resources/并通过mvn测试或mvn站点复制到您的结果目录即可: <plugin> <artifactId>maven-resources-plugin</artifactId> <executions>
谢谢。只需输入您的
src/main/resources/
并通过mvn测试或mvn站点
复制到您的结果目录即可:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-allure-environment</id>
<phase>pre-site</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/allure-results</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>environment.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
maven资源插件
复制诱惑环境
现场前
复制资源
${basedir}/target/allure结果
src/main/resources
environment.xml
对我来说,“预站点”阶段不起作用
正确的阶段是验证
我的资源在src\test\java\resoruces上
下面是我的pom.xml文件中的一个有效答案
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/allure-results</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
<includes>
<include>environment.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
maven资源插件
3.1.0
复制资源
验证
复制资源
${basedir}/allure结果
src/测试/资源
environment.xml
披露:我创建了Java库来处理这个问题:
它使用TransformerFactory在测试的任何阶段将environment.xml写入诱惑结果路径。它还检查目录是否存在,以防从清理后的构建运行
用法示例:
import static com.github.automatedowl.tools.AllureEnvironmentWriter.allureEnvironmentWriter;
public class SomeTests {
@BeforeSuite
void setAllureEnvironment() {
allureEnvironmentWriter(
ImmutableMap.<String, String>builder()
.put("Browser", "Chrome")
.put("Browser.Version", "70.0.3538.77")
.put("URL", "http://testjs.site88.net")
.build(), System.getProperty("user.dir")
+ "/allure-results/");
}
@Test
void someTest() {
Assert.assertTrue(true);
}
}
导入静态com.github.automatedowl.tools.AllureEnvironmentWriter.AllureEnvironmentWriter;
公共类考试{
@套房前
void setAllureEnvironment(){
allureEnvironmentWriter(
ImmutableMap.builder()
.put(“浏览器”、“浏览器”)
.put(“Browser.Version”,“70.0.3538.77”)
.put(“URL”)http://testjs.site88.net")
.build(),System.getProperty(“user.dir”)
+“/allure results/”;
}
@试验
无效测试(){
Assert.assertTrue(true);
}
}
谢谢!这是解决方案,非常感谢。