在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Selenium TestNG
log4j日志
Selenium IDE測(cè)試創(chuàng)建
Selenium - IDE模式匹配
Selenium教程
多瀏覽器測(cè)試
Selenium IDE下載
Selenium用戶擴(kuò)展
鍵盤操作
捕捉屏幕截圖
Selenium網(wǎng)格
Selenium TestNG
Selenium定位器
查找所有鏈接
Selenium測(cè)試設(shè)計(jì)技術(shù)
鼠標(biāo)操作
下拉框交互
Selenium IDE驗(yàn)證點(diǎn)
Selenium IDE- 不同的瀏覽器
Selenium RC
多選擇操作
復(fù)選框交互
單選按鈕互動(dòng)
捕捉視頻
拖放
Selenium IDE 測(cè)試
Synchronization 同步
異常處理
Selenium 環(huán)境安裝設(shè)置
Selenium概述
用戶交互
Selenium Webdriver
Selenium IDE
Selenium頁面對(duì)象模型
Selenium IDE 工具特點(diǎn)
使用Excel數(shù)據(jù)驅(qū)動(dòng)
Selenium - Selenese命令

Selenium TestNG

什么是TestNG

TestNG是一個(gè)功能強(qiáng)大的測(cè)試框架,是Junit的一個(gè)增強(qiáng)版本,Junit在使用多年之前,TestNG才生效存在。NG 代表“下一代”。

TestNG框架提供了以下功能和解答我們的問題:“為什么我們需要TestNG”?

  • 注釋可以幫助我們來組織使測(cè)試更容易。

  • 靈活的測(cè)試配置。

  • 測(cè)試?yán)梢愿菀椎剡M(jìn)行分組

  • 可以使用TestNG實(shí)現(xiàn)測(cè)試并行

  • 支持?jǐn)?shù)據(jù)驅(qū)動(dòng)測(cè)試

  • 內(nèi)置的報(bào)告

Eclipse安裝TestNG

第1步:啟動(dòng)Eclipse,選擇“Install New Software”。

Selenium IDE 93

第2步:輸入網(wǎng)址為“http://beust.com/eclipse”,然后單擊“Add”。

Selenium IDE 94

第3步:打開添加存儲(chǔ)庫對(duì)話框輸入名稱為“TestNG”,然后點(diǎn)擊“OK”

Selenium IDE 95

第4步:點(diǎn)擊“全Select All”和“TestNG”將被選擇,如圖所示。

Selenium IDE 96

第5步:點(diǎn)擊“Next”繼續(xù)。

Selenium IDE 97

第6步:檢查被選中項(xiàng)目,然后單擊“Next”。

Selenium IDE 98

第7步:“Accept the License Agreement”,然后單擊“Finish”。

Selenium IDE 99

步驟8:TestNG開始安裝并且將示出進(jìn)度如下。

Selenium IDE 100

第9步:安全警告彈出的軟件的有效性不能成立。單擊“Ok”。

Selenium IDE 101

第10步:安裝程序彈出的重啟。單擊“Yes”。

Selenium IDE 102

TestNG的注解

注釋被正式添加到Java語言中JDK5和TestNG作出的選擇使用注解來注解測(cè)試類。以下是一些使用注釋的優(yōu)點(diǎn)。更多關(guān)于TestNG可以在這里找到 www.yiibai.com/testng/index.html 

  • TestNG識(shí)別是通過查找注釋感興趣的方法。因此,方法的名稱不局限于任何模式或格式。

  • 我們可以通過額外的參數(shù)來說明。

  • 注釋是強(qiáng)類型,所以編譯器會(huì)標(biāo)志任何錯(cuò)誤。

  • 測(cè)試類不再需要擴(kuò)展什么(如測(cè)試用例,選擇JUnit3)。

Annotation 描述
@BeforeSuite 被注釋的方法將只在這個(gè)套件中的所有測(cè)試運(yùn)行之前運(yùn)行一次。
@AfterSuite 被注釋的方法將只在這個(gè)套件中的所有測(cè)試都運(yùn)行后,運(yùn)行一次。
@BeforeClass 帶注釋的方法將只調(diào)用在當(dāng)前類中的第一測(cè)試方法之前運(yùn)行一次。
@AfterClass 帶注釋的方法將僅在當(dāng)前類中的所有的測(cè)試方法已經(jīng)被執(zhí)行之后運(yùn)行一次。
@BeforeTest 屬于類<測(cè)試>中的任何測(cè)試方法標(biāo)記運(yùn)行之前被注釋的方法將被運(yùn)行。
@AfterTest 被注釋的方法都將屬于該類別的<測(cè)試>標(biāo)簽內(nèi)的測(cè)試方法運(yùn)行后運(yùn)行。
@BeforeGroups 這種配置方法,將之前運(yùn)行的組的列表。此方法是保證屬于任何這些基團(tuán)的被調(diào)用的第一測(cè)試方法之前短暫運(yùn)行。
@AfterGroups 這種配置方法,將后運(yùn)行的組的列表。這個(gè)方法保證了屬于任何這些基團(tuán)的被調(diào)用的最后一個(gè)測(cè)試方法之后不久運(yùn)行。
@BeforeMethod 被注釋的方法將每個(gè)測(cè)試方法之前運(yùn)行。
@AfterMethod 被注釋的方法將每個(gè)測(cè)試方法之后運(yùn)行。
@DataProvider 標(biāo)記的方法為測(cè)試方法提供數(shù)據(jù)。被注釋的方法必須返回一個(gè)Object[] [],其中每個(gè)Object []對(duì)象可以分配的測(cè)試方法的參數(shù)列表。想從這個(gè)DataProvider接收數(shù)據(jù)的@Test方法需要使用dataProvider名稱等于這個(gè)注解的名字。
@Factory 將方法標(biāo)記為一個(gè)工廠,返回將使用了TestNG作為測(cè)試類的對(duì)象。該方法必須返回一個(gè)Object[]。
@Listeners 定義了一個(gè)測(cè)試類監(jiān)聽器。
@Parameters 介紹了如何將參數(shù)傳遞到一個(gè)方法@Test。
@Test 標(biāo)志著一個(gè)類或方法作為測(cè)試的一部分。

Eclipse安裝TestNG

第1步:?jiǎn)?dòng)Eclipse,并創(chuàng)建一個(gè)“New Java Project”,如下圖所示。

Selenium IDE 53

第2步:輸入項(xiàng)目名稱,然后單擊“Next”。

Selenium IDE 103

第3步:找到“Libraries”選項(xiàng)卡,并單擊添加Selenium遠(yuǎn)程控制服務(wù)器的JAR文件“Add External JAR's”,如圖所示。

Selenium IDE 113

第4步:添加JAR文件,如下圖所示,然后單擊“Add Library”。

Selenium IDE 104

第5步:“Add Library”對(duì)話框打開。選擇“TestNG”,然后點(diǎn)擊“Next”在“Add Library”對(duì)話框。

Selenium IDE 105

第6步:添加“TestNG”類庫加入如下圖所示它顯示出來。

Selenium IDE 106

步驟7:當(dāng)創(chuàng)建項(xiàng)目的結(jié)構(gòu)將在下面所示的項(xiàng)目。

Selenium IDE 107

第8步:右鍵點(diǎn)擊“src”文件夾并選擇“New”和“other”。

Selenium IDE 108

第9步:選擇“TestNG”,然后點(diǎn)擊“Next”。

Selenium IDE 109

第10步:選擇“Source Folder”名稱,并單擊“Ok”。

Selenium IDE 110

第11步:選擇“Package name”,類名,然后單擊“Finish”。

Selenium IDE 111

步驟12:在Package Explorer和創(chuàng)建的類將可以顯示出來給用戶。

Selenium IDE 112

在TestNG的第一個(gè)測(cè)試

現(xiàn)在讓我們使用TestNG啟動(dòng)腳本。為我們理解webdriver使用相同的示例腳本。我們將利用演示應(yīng)用程序,www.calculator.net并執(zhí)行%的計(jì)算器。

在下面的測(cè)試,你會(huì)發(fā)現(xiàn),沒有main方法,如TestNG將驅(qū)動(dòng)程序的執(zhí)行流程。初始化驅(qū)動(dòng)程序后,它將執(zhí)行“@BeforeTest'方法,其次是”@Test',然后'@AfterTest“。請(qǐng)注意,可以在一個(gè)類中的任何數(shù)量“@Test”注解,但是“@BeforeTest'和'@AfterTest”只能出現(xiàn)一次。

package TestNG;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class TestNGClass 
{
  WebDriver driver = new FirefoxDriver();

  @BeforeTest
  public void launchapp()
  {		
    //Puts a Implicit wait, Will wait for 10 seconds before throwing exception
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    //Launch website
    driver.navigate().to("http://www.calculator.net");	
    driver.manage().window().maximize();
  }
		
  @Test
  public void calculatepercent()
  {
	// Click on Math Calculators 
	driver.findElement(By.xpath(".//*[@id='menu']/div[3]/a")).click();    

	// Click on Percent Calculators	
	driver.findElement(By.xpath(".//*[@id='menu']/div[4]/div[3]/a")).click();     

	// Enter value 10 in the first number of the percent Calculator
	driver.findElement(By.id("cpar1")).sendKeys("10"); 		

	// Enter value 50 in the second number of the percent Calculator    	
	driver.findElement(By.id("cpar2")).sendKeys("50");		

	// Click Calculate Button	
	driver.findElement(By.xpath(".//*[@id='content']/table/tbody/tr/td[2]/input")).click();	   

	// Get the Result Text based on its xpath    	
	String result = driver.findElement(By.xpath(".//*[@id='content']/p[2]/span/font/b")).getText();		  

	//Print a Log In message to the screen		
	System.out.println(" The Result is " + result);					
		
	if(result.equals("5"))
	{
		System.out.println(" The Result is Pass");
	}
	else
	{
		System.out.println(" The Result is Fail");
	}		    
  }

  @AfterTest
  public void terminatetest()
  {   
    driver.close();
  }
}

執(zhí)行

通過在創(chuàng)建的XML執(zhí)行右鍵單擊并選擇 "Run As" >> "TestNG Suite"進(jìn)行測(cè)試執(zhí)行

Selenium IDE 189

結(jié)果分析

輸出被丟到了控制臺(tái),它會(huì)出現(xiàn)如下圖所示??刂婆_(tái)輸出也有執(zhí)行摘要。

Selenium IDE 114

TestNG的結(jié)果也可以看出在不同的標(biāo)簽。點(diǎn)擊“HTML Report View”按鈕,如下圖所示。

Selenium IDE 115

如下所示的HTML結(jié)果將被顯示。

Selenium IDE 117