खोज…


टिप्पणियों

यह अनुभाग इस बात का एक सिंहावलोकन प्रदान करता है कि परीक्षणकर्ता क्या है, और क्यों एक डेवलपर इसका उपयोग करना चाहता है।

यह वृषण के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि Testng के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।

संस्करण

संस्करण दिनांक
1.0 2017/06/07

स्थापना या सेटअप

TestNG का उपयोग करने के लिए JDK 7 या उच्चतर की आवश्यकता होती है।

परीक्षण स्थापित करने के लिए http://testng.org/doc/download.html के अनुसार आपको अपने maven pom.xml या gradle build.gradle फ़ाइल में testng निर्भरता जोड़ने की आवश्यकता है

Maven:

<repositories>
  <repository>
    <id>jcenter</id>
    <name>bintray</name>
    <url>http://jcenter.bintray.com</url>
  </repository>
</repositories>
 
<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.9.12</version>
  <scope>test</scope>
</dependency>

Gradle:

repositories {
    jcenter()
}
 
dependencies {
    testCompile 'org.testng:testng:6.9.12'
}

अधिक विकल्प आधिकारिक पृष्ठ में पाए जा सकते हैं।

TestNG का उपयोग करके त्वरित कार्यक्रम

package example;
 
import org.testng.annotations.*; // using TestNG annotations
 
public class Test {
 
 @BeforeClass
 public void setUp() {
   // code that will be invoked when this test is instantiated
 }
 
 @Test(groups = { "fast" })
 public void aFastTest() {
   System.out.println("Fast test");
 }
 
 @Test(groups = { "slow" })
 public void aSlowTest() {
    System.out.println("Slow test");
 }
 
}

विधि setUp() परीक्षण वर्ग के निर्माण के बाद लागू किया जाएगा और किसी भी परीक्षण विधि को चलाने से पहले। इस उदाहरण में, हम समूह को तेजी से चला रहे हैं, इसलिए aFastTest() को आमंत्रित किया जाएगा, जबकि aSlowTest() को छोड़ दिया जाएगा।

TestNG हैलो वर्ल्ड उदाहरण

एक साधारण TestNG प्रोग्राम लिखना और निष्पादित करना मुख्य रूप से 3 चरण की प्रक्रिया है।

  1. कोड - अपने परीक्षण का व्यावसायिक तर्क लिखें और उसे TestNG एनोटेशन के साथ एनोटेट करें
  2. कॉन्फ़िगर करें - testng.xml या build.xml में अपने परीक्षण की जानकारी जोड़ें
  3. TestNG चलाएं - इसे कमांड लाइन, ANT, IDE जैसे ग्रहण, IntelliJ की IDEA से मंगवाया जा सकता है)

उदाहरण की संक्षिप्त व्याख्या (जिसे जांचने की आवश्यकता है) :

हमारे पास एक RandomNumberGenerator वर्ग है, जिसमें एक विधि generateFourDigitPin किया गया है RandomNumberGenerator जो 4 अंकों का पिन बनाता है और int रूप में रिटर्न करता है। इसलिए यहां हम यह जांचना चाहते हैं कि वह यादृच्छिक संख्या 4 अंकों की है या नहीं। नीचे कोड है:

परीक्षण किया जाने वाला वर्ग :

package example.helloworld;

public class RandomNumberGenerator {

public int generateFourDigitPin(){
    return (int)(Math.random() * 10000);
}
}

TestNG परीक्षण वर्ग :

package example.helloworld;

import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class TestRandomNumberGenerator {
    
    RandomNumberGenerator rng = null;
    
    @BeforeClass
    public void deSetup(){
        rng = new RandomNumberGenerator();
    }
    
    @Test
    public void testGenerateFourDigitPin(){
        int randomNumber = rng.generateFourDigitPin();
        Assert.assertEquals(4, String.valueOf(randomNumber).length());
    }
    
    @AfterClass
    public void doCleanup(){
        //cleanup stuff goes here
    }
}

वहाँ testng.xml :

<suite name="Hello World">
    <test name="Random Number Generator Test">
        <classes>
            <class name="example.helloworld.TestRandomNumberGenerator" />
        </classes>
    </test>
</suite>

ग्रैडल के साथ TestNG सुइट चलाएं

नमूना build.gradle फ़ाइल:

plugin: 'java'

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

dependencies {
    compile "org.testng:testng:6.9.12"
}

test {
    useTestNG() {
    suiteXmlBuilder().suite(name: 'Sample Suite') {
        test(name : 'Sample Test') {
            classes('') {
                'class'(name: 'your.sample.TestClass')
            }
        }
    }
}

Xml का उपयोग करके ग्रहण और रन परीक्षण में TestNG को कैसे कॉन्फ़िगर करें

ग्रहण में TestNG कैसे स्थापित करें

  1. खुला ग्रहण
  2. मदद> नया सॉफ़्टवेयर स्थापित करें पर क्लिक करें सामग्री सूचीबद्ध करें
  1. जोड़ें पर क्लिक करें
  2. नाम और URL प्रदान करें - http://beust.com/eclipse यहाँ छवि विवरण दर्ज करें
  1. TestNG का चयन करें
  2. अगला पर क्लिक करें

सामग्री सूचीबद्ध करें

  1. समाप्त पर क्लिक करें
  2. TestNG को स्थापित करने में कुछ समय लगेगा

एक बार स्थापित होने के बाद ग्रहण को पुनः आरंभ करें।

आओ एक TestNG प्रोजेक्ट बनाएँ

  1. फ़ाइल> नया> जावा प्रोजेक्ट> कुछ नाम दें और फिनिश पर क्लिक करें

  2. TestNGClass के रूप में एक वर्ग बनाएँ

  3. निम्न वर्ग बनाएं

    1.LoginPage.class

    2.HomePage.class

    3.FBLoginTest.class

यहाँ कोड है:

LoginPage वर्ग

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;

public class LoginPage {

    @FindBy(id = "email")
    private WebElement username;
    
    @FindBy(id = "pass")
    private WebElement password;
    
    @FindBy(xpath = ".//input[@data-testid='royal_login_button']")
    private WebElement login;
    
    WebDriver driver;
    
    public LoginPage(WebDriver driver){
        this.driver = driver;
         PageFactory.initElements(driver, this);
    }
    public void enterUserName(String name){
        username.clear();
        username.sendKeys(name);
    }
    
    public void enterPassword(String passwrd){
        password.clear();
        password.sendKeys(passwrd);
    }
    

    public HomePage clickLoginButton(){
        login.click();
        return new HomePage(driver);
    }
}

होमपेज क्लास

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;

public class HomePage {

    @FindBy(id = "userNavigationLabel")
    private WebElement userDropdown;
    
    WebDriver driver;
    
    public HomePage(WebDriver driver){
        this.driver = driver;
        PageFactory.initElements(driver, this);
    } 
    
    public boolean isUserLoggedIn(){
        return userDropdown.isDisplayed();
    }
    
}

FBLoginTest वर्ग

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;

import com.testng.pages.HomePage;
import com.testng.pages.LoginPage;

public class FBLoginTest {
    
    WebDriver driver;
    LoginPage loginPage;
    HomePage homePage;
    
    @BeforeClass
    public void openFBPage(){
        driver = new FirefoxDriver();
        driver.get("https://www.facebook.com/");
        loginPage = new LoginPage(driver);
    }
    
    @Test
    public void loginToFB(){
        loginPage.enterUserName("");
        loginPage.enterPassword("");
        homePage = loginPage.clickLoginButton();
        Assert.assertTrue(homePage.isUserLoggedIn());
    }
    
    @AfterClass
    public void closeBrowser(){
        driver.quit();
    }

}

यहाँ आता है testng xml: प्रोजेक्ट पर राइट क्लिक करें xml फ़ाइल बनाएँ और इस सामग्री को कॉपी पेस्ट करें।

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
  <test name="Test">
    <classes>
      <class name="com.testng.FBLoginTest"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

सेलेनियम स्टैंडअलोन जार कैसे जोड़ें:
प्रोजेक्ट के बिल्ड पथ में नवीनतम सेलेनियम स्टैंडअलोन जार डाउनलोड करें और जोड़ें।

  1. प्रोजेक्ट> बिल्ड पथ पर राइट क्लिक करें> बिल्ड पथ कॉन्फ़िगर करें लाइब्रेरी चुनें> बाहरी जार जोड़ें

TestNG xml कैसे चलाएं? Xml> Run as> TestNGSuite पर राइट क्लिक करें

हैप्पी कोडिंग :)



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