手把手教你如何使用TestNG框架建立Selenium指令碼?
TestNG在某種方式上對於開發者和測試者來說是一種更高階的測試框架,如果已經使用Junit框架的人來說,TestNG並沒有什麼高階的特徵。
JUnit在Java應用程式、Java開發人員和Java測試人員中很流行使用,很大程度上提高了程式碼質量。
儘管JUnit是一個易於使用和簡單明瞭的框架,但它也有自己的侷限性,這就需要引入TestNG。
TestNG是由一個名為“Cedric Beust”的著名程式設計師建立的。TestNG是一個開源框架,它是在Apache軟體許可下發布的,可以隨時下載。
我們在WebDriver中引入TestNG的需求,是因為它提供了一種有效的測試結果格式,可以與大眾共享,使我們可以瞭解產品/應用程式的健康狀況,TestNG消除WebDriver無法生成測試報告的缺點。它有一個內建的異常處理機制,它允許程式在不意外終止的情況下執行。
TestNG和JUnit都屬於同一個單元框架系列,TestNG是JUnit的擴充套件版本,在當前環境下得到了更廣泛的使用。
下面我們就來討論下關於TestNG的所有特徵和應用:
一.TestNG的特點
支援註釋
支援引數化
不需要建立測試套件的高階執行方法
根據資料提供者提供的資料進行資料驅動測試
允許使用者為測試方法設定執行優先順序
在執行多執行緒時提供安全的環境
支援各種工具和外掛的整合,如構建工具(Ant、Maven等)、整合開發環境(Eclipse)。
為使用者使用ReportNG生成報表提供了有效的方法
TestNG與Junit對比:
TestNG比JUnit有許多優點:
高階且簡單的註釋
可以設定執行模式
測試指令碼的併發執行
可以設定測試用例依賴項
在TestNG和JUnit中,註釋前面都有一個“@”符號。
二.在Eclipse中安裝TestNG
根據下面的步驟在eclipse上下載和安裝TestNG
步驟一:啟動eclipse IDE->點選選單欄上的幫助選項->在下拉框中選擇“Eclipse Marketplace..”選項
步驟二 在搜尋框輸入關鍵詞“TestNG”,點選go 按鈕
步驟三 當點選go 按鈕後,顯示匹配搜尋的結果,點選install 按鈕安裝“TestNG”
步驟四 下載後會有一個彈出確認的彈窗,點選confirm確認
步驟五 接下來,應用會彈出接受license框,然後點選“Finish”按鈕
步驟六 開始安裝,可以看見安裝進度條
重啟 eclipse
重啟後,點選選單欄的“Window”選項下的“Preferences”來驗證TestNG的安裝。請參閱下圖
三.建立TestNG專案示例
步驟一 點選選單欄的File-> new->java Project
步驟二 輸入專案名稱如“DemoTestNG”,點選”Next”按鈕,點選“Finish”按鈕,這樣java 專案建立成功
步驟三 匯入TestNG 目錄到新建立的java 專案,單擊Build Path下的“Libraries”選項卡,點選“Add library”。
步驟四 在彈出的對話方塊,選擇TestNG,點選“Next”按鈕,點選“完成”按鈕。
現在TestNG已經加入到Java project 中,如下圖
將下載的所有Selenium庫和jar新增到專案的構建路徑中。
四.建立TestNG類
建立示例指令碼
步驟一 展開“Demo TestNG”專案,選擇 “src”資料夾,右鍵單擊“src”包導航到New -> Other。
步驟二 開啟TestNG選項,選擇TestNG類選項,點選next 選項
步驟三 指定原始檔夾、包名和TestNG類名,然後單擊Finish按鈕。
TestNG類將使用預設模式建立
場景:
啟動瀏覽器,開啟“Gmail.com”。
驗證頁面標題並列印驗證結果。
輸入使用者名稱和密碼。
單擊登入按鈕。
關閉web瀏覽器。
程式碼解釋:
1)@Test是TestNG註釋之一。這個註釋讓程式知道標註為@Test的方法是一個測試方法。為了能夠使用不同的TestNG註釋,我們需要匯入包“import org.testng.annotations.*”。
2)使用TestNG建立測試指令碼時不需要main()方法。程式的執行是在註釋的基礎上完成的。
3)在語句中,我們在比較預期值和實際值時使用Assert類。Assert類用於執行各種驗證。為了能夠使用不同的類,我們需要匯入“import org.testng.Assert”。
五.執行TestNG指令碼
在程式碼區任意地方右鍵,或者java包上右鍵選擇“Run As”選項,點選“TestNG Test”執行
TestNG結果在兩個視窗顯示
控制檯視窗
TestNG結果視窗
六.HTML報告
TestNG具有生成使用者可讀和可理解的HTML報告的強大功能。這些報告可以在任何瀏覽器中檢視,也可以使用Eclipse的內建瀏覽器支援來檢視。
生成步驟:
步驟1:執行新建立的TestNG類。右鍵單擊包含TestNG類的專案,選擇“Refresh”選項重新整理
步驟2:在“src”資料夾級別生成一個名為“test-output”的資料夾,展開“test-output”資料夾,用Eclipse瀏覽器開啟“email -report”, HTML檔案顯示最近執行的結果。
步驟3:HTML報告在eclipse環境中開啟,請參閱下圖
七.在TestNG中設定優先順序
示例:
八.程式碼走查
如果測試指令碼由多個測試方法組成,則可以使用TestNG註釋“@Test”並透過設定“priority”引數的值來設定執行優先順序和順序。
在上面的程式碼片段中,所有方法都用 @Test標註,優先順序設定為0、1和2。因此測試方法的執行順序為:
Method1
Method2
Method3
支援註解
TestNG和JUnit中提供了許多註釋。很小的區別在於TestNG為JUnit提供了一些更高階的註釋。
九.TestNG的註釋
以下是TestNG中最有用的註釋:
十.總結
TestNG是一個有利於開發和測試使用的高階框架;
TestNG是一個開源框架,它是在Apache軟體許可下發布的,可以隨時下載;
TestNG因為具有高階的特性,所以被認為優於Junit;
TestNG是免費的,可以使用Eclipse Market很容易地安裝在Eclipse IDE中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2639106/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 教你如何用 Bash 指令碼傳送新使用者建立的郵件指令碼
- 《手把手教你》系列基礎篇(五)-java+ selenium自動化測試- 建立首個自動化指令碼(詳細教程)Java指令碼
- 手把手教你如何使用Python的非同步IO框架:asyncio(下)Python非同步框架
- 手把手教你如何使用Python的非同步IO框架:asyncio(中)Python非同步框架
- 手把手教你如何使用Python的非同步IO框架:asyncio(上)Python非同步框架
- 《手把手教你》系列基礎篇(七十八)-java+ selenium自動化測試-框架設計基礎-TestNG依賴測試- 中篇(詳解教程)Java框架
- 教你如何寫UPX脫殼指令碼指令碼
- 手把手教你編寫最簡單的效能指令碼指令碼
- Selenium執行JavaScript指令碼JavaScript指令碼
- 手把手教你寫一個SpringMVC框架SpringMVC框架
- 手把手教你搭建SSH框架(Eclipse版)框架Eclipse
- Selenium IDE使用指南:爬蟲指令碼錄製器IDE爬蟲指令碼
- 教你如何基於python實現指令碼加密Python指令碼加密
- 如何在Windows上使用Git建立一個可執行指令碼?WindowsGit指令碼
- 手把手教你如何寫事件處理的程式碼事件
- 手把手教你如何使用swr體驗react.SusponseReact
- ☕【Java技術指南】「TestNG專題」單元測試框架之TestNG使用教程指南(上)Java框架
- ☕【Java技術指南】「TestNG專題」單元測試框架之TestNG使用教程指南(下)Java框架
- [譯] 手把手教你用 Playground 建立 App FrameworkAPPFramework
- 手把手教你爬蟲代理ip池的建立爬蟲
- 記錄從頭學習 JAVA+selenium+testNGJava
- 手把手教你搭建Raneto知識庫框架(一)框架
- 手把手教你使用 Spring Cloud GatewaySpringCloudGateway
- 圖文結合手把手教你建立SpringCloud專案SpringGCCloud
- selenium webdriver或Appium+testng+ant+jenkins的整合方法WebAPPJenkins
- 手把手教你使用OpenCV庫(附例項、Python程式碼解析)OpenCVPython
- 手把手教你使用easyexcel匯出資料【附帶原始碼】Excel原始碼
- Oracle 建立表空間和使用者指令碼Oracle指令碼
- 手把手教你用Python建立簡單的神經網路(附程式碼)Python神經網路
- 自動化測試框架Selenium的使用——安裝Selenium框架
- 手把手教你如何簡單使用laravel Modules寫外掛(1)Laravel
- 手把手教你擼一個vue框架(原理篇)Vue框架
- 手把手教你寫一個Java的orm框架(4)JavaORM框架
- 手把手教你寫一個Java的orm框架(2)JavaORM框架
- 手把手教你寫一個Java的orm框架(1)JavaORM框架
- 手把手教你寫一個Java的orm框架(3)JavaORM框架
- linux建立定時指令碼Linux指令碼
- centos建立賬戶指令碼CentOS指令碼