खोज…


परिचय

यह विषय सेलेनियम परीक्षणों के लिए HTML रिपोर्ट के निर्माण को शामिल करता है। रिपोर्टिंग के लिए विभिन्न प्रकार के प्लगइन्स उपलब्ध हैं और व्यापक रूप से उपयोग किए जाने वाले हैं Allure, ExtentReports और ReportNG।

ExtentReports

यह उदाहरण TestNG, जावा और मावेन का उपयोग करके सेलेनियम में एक्सटेंट रीपोर्ट के कार्यान्वयन को शामिल करता है।

ExtentReports दो संस्करणों, समुदाय और वाणिज्यिक में उपलब्ध हैं। आसानी और प्रदर्शन उद्देश्य के लिए, हम सामुदायिक संस्करण का उपयोग करेंगे।

1. निर्भरता

हद रिपोर्ट के लिए अपने मावेन pom.xml फ़ाइल में निर्भरता जोड़ें।

   <dependency>
        <groupId>com.aventstack</groupId>
        <artifactId>extentreports</artifactId>
        <version>3.0.6</version>
    </dependency>

2. प्लगइन्स कॉन्फ़िगर करें

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();
    }

एल्योर रिपोर्ट

यह उदाहरण TestNG, जावा और मावेन का उपयोग करते हुए सेलेनियम में एल्योर रिपोर्ट के कार्यान्वयन को शामिल करता है।

मावन विन्यास

कोष

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>

अचूक प्लगिन विन्यास

<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
    }
} 

यहाँ

@ शीर्षक ("") शीर्षक आपकी रिपोर्ट में एल्योर रिपोर्ट में जोड़ देगा

@ विवरण ("") आपके परीक्षण में विवरण जोड़ देगा

@Step ("") परीक्षण के लिए लुभाना रिपोर्ट में एक कदम जोड़ देगा

निष्पादन पर एक xml फ़ाइल "लक्ष्य / लुभाना / परिणाम" फ़ोल्डर में उत्पन्न होगी

जेनकींस के साथ अंतिम रिपोर्ट

यदि आप जेनरिक में Allure Report plugin इंस्टॉल कर रहे हैं, तो Jenkins स्वचालित रूप से आपकी नौकरी में रिपोर्ट प्रस्तुत करेगा।

जेनकींस के बिना अंतिम रिपोर्ट

जिन लोगों के पास जेनकींस नहीं है, वे html रिपोर्ट बनाने के लिए निम्न कमांडलाइन का उपयोग करें। Allure CLI एक जावा अनुप्रयोग है, इसलिए यह सभी प्लेटफार्मों के लिए उपलब्ध है। आपको Allure CLI का उपयोग करने से पहले मैन्युअल रूप से Java 1.7+ इंस्टॉल करना होगा।

डेबियन

डेबियन-आधारित रिपॉजिटरी के लिए हम एक पीपीए प्रदान करते हैं ताकि इंस्टॉलेशन सीधा हो: डेबियन के लिए एल्योर एलएलआई स्थापित करें

$ sudo apt-add-repository ppa:yandex-qatools/allure-framework
$ sudo apt-get update 
$ sudo apt-get install allure-commandline

समर्थित वितरण हैं: भरोसेमंद और सटीक। स्थापना के बाद आपके पास एल्योर कमांड उपलब्ध होगा।

मैक ओ एस

आप Homebrew के माध्यम से Allure CLI स्थापित कर सकते हैं।

$ brew tap qatools/formulas 
$ brew install allure-commandline

स्थापना के बाद आपके पास एल्योर कमांड उपलब्ध होगा।

विंडोज और अन्य यूनिक्स

  1. Https://github.com/allure-framework/allure-core/releases/latest से ज़िप संस्करण के रूप में नवीनतम संस्करण डाउनलोड करें
  2. आर्काइव को allure-कमांडलाइन डायरेक्टरी में अनपैक करें। बिन निर्देशिका पर नेविगेट करें।
  3. विंडोज के लिए allure.bat का उपयोग करें और अन्य यूनिक्स प्लेटफार्मों के लिए allure।

कमांडलाइन / टर्मिनल में अब सिंटैक्स का अनुसरण करते हुए प्रवेश करें और रिपोर्ट को एल्योर-रिपोर्ट फ़ोल्डर में जनरेट किया जाएगा

$ allure generate directory-with-results/

यहाँ छवि विवरण दर्ज करें



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow