selenium-webdriver
Rapports HTML
Recherche…
Introduction
Cette rubrique traite de la création de rapports HTML pour les tests de sélénium. Il existe différents types de plug-ins disponibles pour les rapports et les plus utilisés sont Allure, ExtentReports et ReportNG.
ExtentReports
Cet exemple couvre l'implémentation d'ExtentReports dans Selenium à l'aide de TestNG, Java et Maven.
ExtentReports est disponible en deux versions, communautaire et commerciale. Pour la facilité et la démonstration, nous utiliserons la version communautaire.
1. dépendance
Ajoutez la dépendance dans votre fichier Maven pom.xml pour les rapports d'étendue.
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.0.6</version>
</dependency>
2. Configurez les plugins
Configurez le plugin maven surefire comme ci-dessous dans 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. Exemple de test avec ExtentReports
Maintenant, créez un test avec le nom 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 Reports
Cet exemple concerne l'implémentation d'Allure Reports dans Selenium à l'aide de TestNG, Java et Maven.
Configuration Maven
Dépôt
Ajouter le code suivant pour configurer le référentiel jcenter
<repository>
<id>jcenter</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
Dépendance
Ajouter les dépendances suivantes à votre 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>
Configuration du plug-in 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>
Exemple de test pour le rapport Allure
Créer un exemple de test avec le nom 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();
}
}
Dans la classe ci-dessus, nous avons utilisé la classe LogUtiil. Ceci est simplement fait pour enregistrer les étapes de notre test. Voici le code pour le même
LogUtil.java
public final class LogUtil {
private LogUtil() {
}
@Step("{0}")
public static void log(final String message){
//intentionally empty
}
}
Ici
@Titre ("") ajoutera le titre à votre test dans Allure Report
@Description ("") ajoutera la description à votre test
@Step ("") ajoutera une étape dans le rapport d'allure pour le test
A l'exécution, un fichier xml sera généré dans le dossier "target / allure-results /"
Rapport final avec Jenkins
Si vous utilisez Jenkins avec le plug-in Allure Report, Jenkins affichera automatiquement le rapport dans votre travail.
Rapport final sans Jenkins
Pour ceux qui n'ont pas de Jenkins, utilisez la ligne de commande suivante pour créer le rapport HTML. Allure CLI est une application Java disponible pour toutes les plates-formes. Vous devez installer manuellement Java 1.7+ avant d'utiliser Allure CLI.
Debian
Pour les référentiels basés sur Debian, nous fournissons un PPA afin que l'installation soit simple: Installez Allure CLI pour debian
$ sudo apt-add-repository ppa:yandex-qatools/allure-framework
$ sudo apt-get update
$ sudo apt-get install allure-commandline
Les distributions prises en charge sont les suivantes: Trusty et Precise. Après l'installation, vous aurez la commande allure disponible.
Mac OS
Vous pouvez installer la CLI Allure via Homebrew.
$ brew tap qatools/formulas
$ brew install allure-commandline
Après l'installation, vous aurez la commande allure disponible.
Windows et autres Unix
- Téléchargez la dernière version sous forme d'archive zip à l' adresse https://github.com/allure-framework/allure-core/releases/latest .
- Décompressez l'archive dans le répertoire allure-commandline. Accédez au répertoire bin.
- Utilisez allure.bat pour Windows et allure pour d'autres plates-formes Unix.
Dans la ligne de commande / terminal, entrez simplement la syntaxe suivante et le rapport sera généré dans le dossier allure-report
$ allure generate directory-with-results/