倾城报告

这个例子涵盖了使用 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

  1. https://github.com/allure-framework/allure-core/releases/latest 下载最新版本的 zip 存档。
  2. 将存档解压缩到 allure-commandline 目录。导航到 bin 目录。
  3. 使用适用于 Windows 的 allure.bat 和适用于其他 Unix 平台的诱惑。

现在,在命令行/终端中输入以下语法,将生成报告到 allure-report 文件夹中

$ allure generate directory-with-results/

https://i.stack.imgur.com/HShVN.jpg