1. 程式人生 > 其它 >《手把手教你》系列基礎篇(八十)-java+ selenium自動化測試-框架設計基礎-TestNG依賴測試-番外篇(詳解教程)

《手把手教你》系列基礎篇(八十)-java+ selenium自動化測試-框架設計基礎-TestNG依賴測試-番外篇(詳解教程)

1.簡介

經過前邊幾篇知識點的介紹,今天巨集哥就在實際測試中應用一下前邊所學的依賴測試。這一篇主要介紹在TestNG中一個類中有多個測試方法的時候,多個測試方法的執行順序或者依賴關係的問題。如果不用dependsOnMethods,testNG會自動根據@Test方法名稱的首字母排序來執行測試方法,而不是按照你設計的測試用例來執行方法。多的不說,少的不嘮,我們開始今天講解和分享。

2.測試場景

在這裡巨集哥給小夥伴們或者童鞋們模擬一個測試場景:開啟百度首頁,搜尋selenium的相關內容,看到很多selenium的內容有java、python等各種語言。而我們需要精確到其中某一種語言相關的selenium知識點,比如java。

3.測試用例設計

①開啟百度首頁

②在查詢輸入框輸入:selenium搜尋

③輸入selenium+java搜尋

4.專案實戰

4.1程式碼設計

根據測試用例設計測試指令碼程式碼如下圖所示:

4.2參考程式碼

package library;

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; /** * @author 北京-巨集哥 * * @公眾號:北京巨集哥 * * 《手把手教你》系列基礎篇(八十)-java+ selenium自動化測試-框架設計基礎-TestNG依賴測試-番外篇(詳解教程) * * 2022年3月07日 */ public class TestDepend { WebDriver driver; @BeforeClass public void setup(){ 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(dependsOnMethods={"testSearch"}) 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(); } }

4.3執行程式碼

1.執行程式碼,右鍵Run AS->TestNG Suite,控制檯輸出,如下圖所示:

2.執行程式碼後電腦端的瀏覽器的動作,如下小視訊所示:

5.小結

1.上面先後順序是:1)開啟百度 2)搜尋selenium 3)搜尋selenium+java,是按照巨集哥設計的測試用例進行執行,而且順序也正確;如果想看看不用依賴關係,登出依賴部分程式碼,執行一下,看看是不是按照字母順序執行,而不是按照巨集哥設計的測試用例執行的。

好了,今天時間也不是很早了,巨集哥就講解和分享到這裡,感謝您耐心的閱讀!