傾城報告

這個例子涵蓋了使用 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