1. 程式人生 > >Java+Selenium3框架設計準備篇7-TestNG如何disable一些case

Java+Selenium3框架設計準備篇7-TestNG如何disable一些case

       本文繼續學習TestNG的知識,有些時候,我們在寫指令碼的時候暫時不讓一些測試用例執行,怎麼辦呢?有兩種方法,程式碼登出這個用例區域,第二個是去除前面@Test註釋,這樣testNG執行就不會執行到這部分的程式碼。除了這兩種常規方法,testNG提供了一個enabled的引數,可以設定布林型,true表示執行該方法,false表示不執行該用例。

還是利用前面一篇的測試指令碼程式碼。

package lessons;

import static org.testng.Assert.assertTrue;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class TestDepend {
	
	WebDriver driver;
	
	@BeforeClass
	public void setuo(){
		
		System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
		driver = new ChromeDriver();
		driver.manage().window().maximize();
		
	}
	
	@Test
	public void openBaidu() throws InterruptedException{
		
		driver.get("https://www.baidu.com");
		Thread.sleep(2000);
		System.out.println(driver.getTitle());
		//assertTrue(driver.getTitle() == "百度一下,你就知道");
	}
	
	@Test(dependsOnMethods={"openBaidu"})
	public void testSearch() throws InterruptedException{
		driver.findElement(By.id("kw")).sendKeys("Selenium");
		driver.findElement(By.id("su")).click();
		Thread.sleep(1000);
	}
	
	@Test(enabled=false)
	public void testSearch2(){
		driver.findElement(By.id("kw")).clear();
		driver.findElement(By.id("kw")).sendKeys("Selenium+Java");
		driver.findElement(By.id("su")).click();
	}
	
	@AfterClass
	public void tearDown(){
		driver.quit();
	}

}
上面有三個測試用例,執行後可以看到報告顯示執行了兩個測試用例。
百度一下,你就知道
PASSED: openBaidu
PASSED: testSearch

===============================================
    Default test
    Tests run: 2, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================