Java+Selenium3框架設計準備篇7-TestNG如何disable一些case
阿新 • • 發佈:2019-02-08
本文繼續學習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 ===============================================