發布:九月6,2020
TestNG 資料提供者 – 端到端概述和演示
Cedric Beust 於 2003 年使用 Java 程式語言創建了廣受歡迎的自動化測試框架 TestNG。它與 JUnit 和 NUnit 類似,但解決了它們的一些不足,例如配置控制不佳、靜態程式設計模型、缺乏依賴性測試等。 TestNG 旨在涵蓋各種測試項目,包括功能測試、單元測試和整合系統測試。 TestNG 提供強大的功能,不僅使測試人員能夠執行複雜的測試任務,而且還使各項功能易於使用。雖然 TestNG 最廣為人知的是其註解功能,但 TestNG DataProviders 是另一個便捷的功能,它使資料驅動測試變得輕鬆且有效率。憑藉著資料參數化、資料監聽器、DataProviders、HTML 報告、日誌、測試案例分組、優先排序和並行測試等功能,TestNG 迅速成為大多數測試人員的首選。
TestNG DataProviders是什麼?
TestNG 的一個重要特性是資料驅動測試。 DataProviders 功能是資料驅動測試的一部分,它允許在一次執行中為測試案例提供不同的值。這意味著您可以執行一次測試案例,但可以使用不同的資料值來執行同一個方法。例如,您可以測試註冊頁面的不同輸入,但測試只需執行一次。 TestNG 的資料提供器功能會將所有這些值逐一傳遞給測試案例,從而在一次執行中測試不同的資料集。
對 TestNG 資料提供者的需求
TestNG 參數是類似的功能,它透過 XML 檔案為函數提供值。使用參數,您可以對單一資料集執行多個函數,或對單一函數使用多個資料集。然而,參數的挑戰在於,您只能使用一個值執行一次測試案例。在標準的測試專案中,您需要使用多個值來執行測試案例。在這種情況下,您必須使用不同的資料集多次執行測試案例。 TestNG 資料提供者透過讓您僅執行一次測試案例但使用不同的資料集來解決此挑戰。它透過註解向測試方法提供數組資料值。
如何運作?
TestNG DataProviders 功能使用下列語法。例如:
[java] @DataProvider (name = “ExperitestDataProvider”) public Object[][] ExperitestDPMethod() { return new Object [][] { values} } [/java]
如果你查看語法,會發現它使用了 TestNG 註解。這裡只使用了一個參數,即名稱。此參數只能接受一個字串值,作為資料提供者的名稱。它們都有自己的方法。例如:這裡的 `ExperitestDPMethod()`。預設情況下,如果未指定名稱,TestNG 會將方法名稱作為資料提供者的名稱。
執行測試案例時,資料提供者會呼叫資料提供者方法,該方法會傳回一個二維物件列表,以便對每個資料集執行資料驅動測試。
安裝
以下是以下內容:wing to使用 TestNG DataProviders 功能需要以下 ols:
- Java的
- 硒
- Eclipse IDE
- 測試NG
步驟 1:安裝 Java
要執行 TestNG,您需要 Java 開發工具包 (JDK) 8.0 或更高版本。請造訪此連結下載 Java 並將其安裝到您的電腦上。
https://www.oracle.com/in/java/technologies/javase-downloads.html
Java SE 14.0.2 是最新版本。請下載可執行檔並雙擊安裝軟體。
步驟 2:配置環境變數
安裝 Java 後,您應該指定係統中的 Java 路徑。操作方法如下:開啟「系統」->「進階系統屬性」->「進階」->「環境變數」。

對於“用戶的用戶變數”,請輸入:
- C:\Program Files\Java\jdk-14.0.2
對於系統變數路徑,請輸入 bin 資料夾路徑:
- C:\Program Files\Java\jdk-14.0.2bin
現在,Java 已經可以使用了。
步驟 3:安裝 Eclipse
要建立和編輯 Java 腳本,您需要一個 Java 整合開發環境 (IDE)。 Eclipse 和 IntelliJ 是兩個流行的 Java IDE。要安裝 Eclipse,請造訪以下連結:
https://www.eclipse.org/downloads/
最新版本為 Eclipse IDE 2020-06。軟體下載完成後,請雙擊運行並安裝。

Eclipse有多個版本。因此,請選擇“Eclipse for Java Developers”,然後繼續安裝。

安裝完成後,開啟 IDE。每次打開 IDE 時,它都會提示您選擇工作區資料夾。您可以選擇預設位置,也可以選擇新位置。

首次開啟 Eclipse 時,會顯示歡迎介面。現在,IDE 已準備就緒,可以使用了。

步驟 4:安裝 Selenium
Selenium 是一款受歡迎的開源測試自動化框架,近年來非常受歡迎。點擊此連結下載 Selenium 軟體:
https://www.selenium.dev/downloads/
下載 Selenium 獨立伺服器,它以 jar 檔案的形式提供。最新穩定版本為 3.141.59。無需安裝,只需將其保存到您的電腦即可。
步驟 5:安裝 TestNG
在早期版本的 Eclipse 中,TestNG 可以直接從 Eclipse Marketplace 下載,只需點擊安裝即可將其新增至 Eclipse 中。但在最新版本中,您需要手動下載 TestNG 並將其作為庫檔案新增。請造訪此連結下載 TestNG:
https://dl.bintray.com/testng-team/testng-eclipse-release/
點擊壓縮鏈接,選擇最新版本,並將檔案儲存到您的裝置。

若要將TestNG新增到Eclipse中,請開啟IDE並按一下「安裝新軟體」。在下一個畫面中,按一下「新增」並手動新增檔案。
或者,您可以直接在那裡提供 TestNG 鏈接,以便該工具自動下載文件。

選擇 TestNG,點擊下一步,接受授權協議,然後點擊完成。重新啟動 Eclipse 以完成 TestNG 設定流程。
若要檢查 TestNG 是否已正確安裝,請按 Ctrl+N,查看 TestNG 是否列在那裡。

現在,TestNG 已經可以投入使用了。
使用 TestNG 資料提供者進行首次測試
現在所有工具都已安裝完畢,讓我們執行第一個測試,看看 TestNG DataProviders 是如何運作的。
開啟 Eclipse IDE,點選「新建」->「Java 專案」。為項目命名,然後點選「下一步」。

在下一個畫面上,點選“庫”,然後點選“新增外部 jar”。

選擇 Selenium Standalone Server jar 文件,然後按一下確定。 Selenium 將會被加入到您的專案中。
現在,點擊“新增庫”,然後在下一個畫面中選擇 TestNG,將 TestNG 新增到您的專案中。

Selenium 和 TestNG 以及 Java 執行環境都會加入您的專案。
點選「新建」->「套餐」建立新套餐。

在該包中建立一個新類別。例如:ExperitestDataProviders.java
現在,將這段程式碼加入類別。請注意,它包含 TestNG 資料提供者。
[java] package 解釋; {“Experitest2”}, {“Experitest3”}, {“Experitest4”}, {“Experitest5”}}; } @Test (dataProvider = “Experitest-DataProvider”) public void ExperiTest (String val) { System.out.println(“傳遞的參數是:String /1] } }
- 在這裡,我們定義了一個名為「Experitest-DataProvider」的資料提供程序,並提供了5個值(Experitest1、Experitest2等)。
- 在測試期間(@Test),我們已致電數據提供者。
- 我們編寫了一個帶有字串參數的方法,並將值儲存在'val'中。
- 該測試用例將接收字串值並將其列印出來。
當你執行一次這個測試案例時,它會執行 5 次,每次都會列印一個字串值。因此,利用資料提供者功能,我們多次運行了同一個測試案例。

輸出結果顯示,共運行了 5 個測試,其中 5 個測試均通過。

SeeTest 雲端演示
這裡是另一個在 SeeTest 雲端運行的測試演示。此測試案例會在雲端開啟一個網頁瀏覽器,然後在該瀏覽器中開啟 Google 網站。接著,它會在搜尋框中輸入“Experitest”,並蒐索該關鍵字。之後,它會再次打開 Google 網站,並蒐索關鍵字「SeeTest」。這裡,我們只編寫了一個測試案例,但定義了一個名為「Experitest-DataProvider」的 TestNG 資料提供程序,該提供者會向測試用例提供兩個值。
[java] @DataProvider (name = “Experitest-DataProvider”) public Object[][] ExperitestDPMethod(){ return new Object[][] {{“Experitest”}, {“SeeTest”}}; } [/java]
因此,使用資料提供者功能,您在這裡運行了兩次同一個測試案例。
這裡是代碼:
[java] package 說明; org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.testqa.selenium.support.ui.WebDriverWait; import org.testqa.selenium.support.ui.WebDriverWait; import org.testng.annotportations; org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.net.URL; public class DPexample { private String host = “https://cloud.seetest.io”; private static final String ACC.Kinal. private URL url; private DesiredCapabilities dc = new DesiredCapabilities(); @DataProvider (name = “Experitest-DataProvider”) public Object[][] ExperitestDPMethod(){ return new Object[][] {{“Experit}”(Foids); throws Exception { url = new URL(“https://cloud.seetest.io/wd/hub”); dc.setCapability(CapabilityType.BROWSER_NAME, BrowserType.CHROME); dc.setCapability(CapabilityType.PLATFORM, Platform.ANYa); 「快速入門 Chrome 瀏覽器示範」); driver = new RemoteWebDriver(url, dc); } @Test (dataProvider = “Experitest-DataProvider”) public void ExperiTest (String val) { driver.get(“https://www. 10).until(ExpectedConditions.presenceOfElementLocated(By.name(“q”))); WebElement searchBar = driver.findElement(By.name(“q”)); searchBar.click(); searchBar.sendKeys(val); 情況. System.out.println(“報告 URL: “+ driver.getCapabilities().getCapability(“reportUrl”)); driver.quit(); } } [/java]
結果如下:

SeeTest 是一款功能全面的 Web 和行動裝置測試自動化工具。 它使您能夠透過直覺的控制面板輕鬆運行和管理測試。它還提供強大的報告工具,方便您分析測試結果。
以下是示範測試報告:

以下是測試詳情:

摘要
資料提供者 (DataProviders) 是一項便捷的功能,測試人員只需編寫一個測試案例,即可使用預先定義的資料集值多次執行該用例。它還允許您使用單一資料集運行多個方法。 TestNG 資料提供者讓資料驅動測試變得簡單易行。 SeeTest 平台讓您可以充分利用 TestNG 資料提供者功能,輕鬆地使用不同的資料集執行測試案例,並產生自訂報告。