倾城报告
这个例子涵盖了使用 TestNG,Java 和 Maven 在 Selenium 中实现 Allure Reports。
Maven 配置
知识库
添加以下代码以配置 jcenter 存储库
<repository>
<id>jcenter</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
依赖
将以下依赖项添加到 pom.xml
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-testng-adaptor</artifactId>
<version>1.5.4</version>
</dependency>
Surefire 插件配置
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
</argLine>
<properties>
<property>
<name>listener</name>
<value>ru.yandex.qatools.allure.testng.AllureTestListener</value>
</property>
</properties>
<suiteXmlFiles>testng.xml</suiteXmlFiles>
<testFailureIgnore>false</testFailureIgnore>
</configuration>
</plugin>
倾城报告的样本测试
创建名为 test.java 的样本测试
public class test{
WebDriver driver;
WebDriverWait wait;
@BeforeMethod
public void setup() {
System.setProperty("webdriver.chrome.driver", "path to/chromedriver.exe");
driver = new ChromeDriver();
driver.get("https://www.google.com/");
wait = new WebDriverWait(driver,50);
}
@Title("Title check")
@Description("Checking the title of the loaded page.")
@Test
public void searchTest(){
String title = driver.getTitle();
LogUtil.log("Title Fetched: "+title);
assertEquals(title,"Google");
LogUtil.log("Test Passed. Expected: Google | Actual: "+title);
System.out.println("Page Loaded");
}
@AfterMethod
public void teardown(){
driver.close();
}
}
在上面的类中我们使用了 LogUtiil 类。这只是为了记录测试中的步骤。下面是相同的代码
LogUtil.java
public final class LogUtil {
private LogUtil() {
}
@Step("{0}")
public static void log(final String message){
//intentionally empty
}
}
这里
@Title(“”) 将在 Allure Report 中为你的测试添加标题
@Description(“”) 会将描述添加到你的测试中
@Step(“”) 将在测试的倾城度报告中添加一个步骤
执行时,将在“target / allure-results /”文件夹中生成 xml 文件
与詹金斯的最终报告
如果你在安装了 Allure Report 插件的 Jenkins 中运行,那么 Jenkins 将自动在你的作业中呈现报告。
没有詹金斯的最终报告
对于那些没有 Jenkins 的人,请使用以下命令行创建 html 报告。Allure CLI 是一个 Java 应用程序,因此可用于所有平台。在使用 Allure CLI 之前,你必须手动安装 Java 1.7+。
Debian 的
对于基于 Debian 的存储库,我们提供 PPA,因此安装非常简单:为 debian 安装 Allure CLI
$ sudo apt-add-repository ppa:yandex-qatools/allure-framework
$ sudo apt-get update
$ sudo apt-get install allure-commandline
支持的发行版有:Trusty 和 Precise。安装完成后,你将获得诱惑命令。
苹果系统
你可以通过 Homebrew 安装 Allure CLI。
$ brew tap qatools/formulas
$ brew install allure-commandline
安装完成后,你将获得诱惑命令。
Windows 和其他 Unix
- 从 https://github.com/allure-framework/allure-core/releases/latest 下载最新版本的 zip 存档。
- 将存档解压缩到 allure-commandline 目录。导航到 bin 目录。
- 使用适用于 Windows 的 allure.bat 和适用于其他 Unix 平台的诱惑。
现在,在命令行/终端中输入以下语法,将生成报告到 allure-report 文件夹中
$ allure generate directory-with-results/