testng ट्यूटोरियल
टेस्टिंग के साथ शुरुआत करना
खोज…
टिप्पणियों
यह अनुभाग इस बात का एक सिंहावलोकन प्रदान करता है कि परीक्षणकर्ता क्या है, और क्यों एक डेवलपर इसका उपयोग करना चाहता है।
यह वृषण के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि 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 चरण की प्रक्रिया है।
- कोड - अपने परीक्षण का व्यावसायिक तर्क लिखें और उसे TestNG एनोटेशन के साथ एनोटेट करें
- कॉन्फ़िगर करें -
testng.xml
याbuild.xml
में अपने परीक्षण की जानकारी जोड़ें - 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 कैसे स्थापित करें
- जोड़ें पर क्लिक करें
- नाम और URL प्रदान करें - http://beust.com/eclipse
- TestNG का चयन करें
- अगला पर क्लिक करें
- समाप्त पर क्लिक करें
- TestNG को स्थापित करने में कुछ समय लगेगा
एक बार स्थापित होने के बाद ग्रहण को पुनः आरंभ करें।
आओ एक TestNG प्रोजेक्ट बनाएँ
फ़ाइल> नया> जावा प्रोजेक्ट> कुछ नाम दें और फिनिश पर क्लिक करें
TestNGClass के रूप में एक वर्ग बनाएँ
निम्न वर्ग बनाएं
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 -->
सेलेनियम स्टैंडअलोन जार कैसे जोड़ें:
प्रोजेक्ट के बिल्ड पथ में नवीनतम सेलेनियम स्टैंडअलोन जार डाउनलोड करें और जोड़ें।
- प्रोजेक्ट> बिल्ड पथ पर राइट क्लिक करें> बिल्ड पथ कॉन्फ़िगर करें लाइब्रेरी चुनें> बाहरी जार जोड़ें
TestNG xml कैसे चलाएं? Xml> Run as> TestNGSuite पर राइट क्लिक करें
हैप्पी कोडिंग :)