selenium-webdriver
Отчеты HTML
Поиск…
Вступление
В этом разделе рассматривается создание отчетов HTML для тестов селена. Для отчетности доступны различные типы плагинов, и широко используются Allure, ExtentReports и ReportNG.
ExtentReports
Этот пример охватывает реализацию ExtentReports в Selenium с использованием TestNG, Java и Maven.
ExtentReports доступны в двух версиях, сообщества и рекламы. Для удобства и демонстрации мы будем использовать версию сообщества.
1. Зависимость
Добавьте зависимость в файл Maven pom.xml для отчетов о степени.
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.0.6</version>
</dependency>
2. Настройка плагинов
Настройте плагин maven surefire, как показано ниже в pom.xml
<build>
<defaultGoal>clean test</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>${jdk.level}</source>
<target>${jdk.level}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
3. Пример теста с ExtentReports
Теперь создайте тест с именем test.java
public class TestBase {
WebDriver driver;
ExtentReports extent;
ExtentTest logger;
ExtentHtmlReporter htmlReporter;
String htmlReportPath = "C:\\Screenshots/MyOwnReport.html"; //Path for the HTML report to be saved
@BeforeTest
public void setup(){
htmlReporter = new ExtentHtmlReporter(htmlReportPath);
extent = new ExtentReports();
extent.attachReporter(htmlReporter);
System.setProperty("webdriver.chrome.driver", "pathto/chromedriver.exe");
driver = new ChromeDriver();
}
@Test
public void test1(){
driver.get("http://www.google.com/");
logger.log(Status.INFO, "Opened site google.com");
assertEquals(driver.getTitle()), "Google");
logger.log(Status.PASS, "Google site loaded");
}
@AfterMethod
public void getResult(ITestResult result) throws Exception {
if (result.getStatus() == ITestResult.FAILURE)
{
logger.log(Status.FAIL, MarkupHelper.createLabel(result.getName() + " Test case FAILED due to below issues:", ExtentColor.RED));
logger.fail(result.getThrowable());
}
else if (result.getStatus() == ITestResult.SUCCESS)
{
logger.log(Status.PASS, MarkupHelper.createLabel(result.getName() + " Test Case PASSED", ExtentColor.GREEN));
}
else if (result.getStatus() == ITestResult.SKIP)
{
logger.log(Status.SKIP, MarkupHelper.createLabel(result.getName() + " Test Case SKIPPED", ExtentColor.BLUE));
}
}
@AfterTest
public void testend() throws Exception {
extent.flush();
}
@AfterClass
public void tearDown() throws Exception {
driver.close();
}
Allure Отчеты
Этот пример охватывает реализацию отчетов Allure в Selenium с использованием TestNG, Java и Maven.
Конфигурация 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>
Пример теста для отчета Allure
Создайте образец теста с именем 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 ("") добавит шаг в отчете о соблазнении для теста
При выполнении xml-файл будет сгенерирован в папке «target / allure-results /»
Заключительный отчет с Дженкинсом
Если вы работаете в Jenkins с плагином Allure Report, то Jenkins автоматически отобразит отчет в вашей работе.
Заключительный отчет без Дженкинса
Для тех, кто не имеет Jenkins, используйте следующую команду для создания html-отчета. Allure CLI - это Java-приложение, поэтому оно доступно для всех платформ. Перед использованием Allure CLI вам необходимо вручную установить Java 1.7+.
Debian
Для репозиториев на базе Debian мы предоставляем PPA, поэтому установка проста: установите Allure CLI для debian
$ sudo apt-add-repository ppa:yandex-qatools/allure-framework
$ sudo apt-get update
$ sudo apt-get install allure-commandline
Поддерживаемые дистрибутивы: надежные и точные. После установки вы получите команду allure.
Mac OS
Вы можете установить Allure CLI через Homebrew.
$ brew tap qatools/formulas
$ brew install allure-commandline
После установки вы получите команду allure.
Windows и другие Unix
- Загрузите последнюю версию в виде zip-архива с https://github.com/allure-framework/allure-core/releases/latest .
- Распакуйте архив в каталог allure-commandline. Перейдите в каталог bin.
- Используйте allure.bat для Windows и allure для других платформ Unix.
В Commandline / Terminal теперь просто введите следующий синтаксис, и отчет будет сгенерирован в папку allure-report
$ allure generate directory-with-results/