日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
2019年前5大Java自動(dòng)化測(cè)試框架

幾十年來(lái),Java一直是開(kāi)發(fā)應(yīng)用程序服務(wù)器端的編程語(yǔ)言。盡管JUnit與開(kāi)發(fā)人員一起幫助他們進(jìn)行自動(dòng)化單元測(cè)試,隨著時(shí)間的推移和測(cè)試的發(fā)展,當(dāng)自動(dòng)化測(cè)試正在興起時(shí),許多開(kāi)源框架已經(jīng)開(kāi)發(fā)出來(lái),。在這里,我將討論2019年用于使用Selenium WebDriver和Java執(zhí)行測(cè)試自動(dòng)化的前五大Java測(cè)試框架。我還將重點(diǎn)介紹這些Java測(cè)試框架的獨(dú)特之處。

1. JUnit

Kent Beck和Erich Gamma開(kāi)發(fā)的JUnit,它是xUnit的一個(gè)實(shí)例。其背后的主要目的是使Java開(kāi)發(fā)人員能夠編寫(xiě)腳本并執(zhí)行可重復(fù)的測(cè)試用例。它通常用于測(cè)試小塊代碼。您還可以通過(guò)將JUnit與Selenium WebDriver集成用于Java測(cè)試自動(dòng)化來(lái)執(zhí)行網(wǎng)站的自動(dòng)化測(cè)試。無(wú)論何時(shí)添加任何新代碼,您都需要重新執(zhí)行整個(gè)測(cè)試用例并確保沒(méi)有破損。

(1) 先決條件

該框架與Selenium WebDriver for Java高度兼容,原因是JUnit是一個(gè)基于Java的框架。作為一些先決條件,您需要:

  • 在計(jì)算機(jī)中安裝新版本的JDK。
  • 下載新版本的JUnit并設(shè)置環(huán)境。
  • 熟悉面向?qū)ο缶幊陶Z(yǔ)言(尤其是Java)中的應(yīng)用程序開(kāi)發(fā)。

(2) 使用JUnit的優(yōu)點(diǎn)和缺點(diǎn)?

JUnit 有幾個(gè)優(yōu)點(diǎn):

  • 在測(cè)試驅(qū)動(dòng)的環(huán)境中工作的開(kāi)發(fā)人員發(fā)現(xiàn)它非常有用,因?yàn)樗麄儽黄乳喿x代碼并查找是否存在異常。
  • 早期檢測(cè)到錯(cuò)誤,從而產(chǎn)生更可靠的代碼。
  • 開(kāi)發(fā)更具可讀性和無(wú)錯(cuò)誤的代碼可以起到增強(qiáng)信心的作用。
  • 使用新版本的JUnit(版本4),可以輕松識(shí)別異常。您甚至可以執(zhí)行在舊版本的JUnit中編寫(xiě)的測(cè)試用例。
  • 您也可以將它與Java 5或以上版本一起使用。

JUnit的缺點(diǎn)是:

  • 該框架無(wú)法執(zhí)行依賴(lài)性測(cè)試。這就是我們需要TestNG的地方。

(3) JUnit是您的Java測(cè)試框架嗎?

實(shí)現(xiàn)過(guò)程在兩個(gè)框架中都是不同的。此外,由于JUnit已經(jīng)使用了很長(zhǎng)時(shí)間,因此有更好的社區(qū)支持,并且它已被定義為使用Selenium WebDriver進(jìn)行基于Java的應(yīng)用程序的單元測(cè)試的標(biāo)準(zhǔn)。雖然TestNG的用戶(hù)很少,但社區(qū)非常龐大并且每天都在增長(zhǎng)。因此,我們可以得出結(jié)論,TestNG或JUnit之間對(duì)Java測(cè)試框架的選擇完全取決于應(yīng)用程序的性質(zhì)和要求。

2. JBehave

我們都知道行為驅(qū)動(dòng)開(kāi)發(fā)或BDD。它是一種以透明的方式向業(yè)務(wù)用戶(hù)描述驗(yàn)收測(cè)試的測(cè)試類(lèi)型。JBehave是另一個(gè)用于BDD測(cè)試的Java測(cè)試框架,主要用于Selenium WebDriver for Java。引入JBehave背后的主要目標(biāo)是讓新手能夠輕松理解并熟悉BDD。它是一種設(shè)計(jì)理念,使應(yīng)用程序的測(cè)試階段更多地基于其行為。

(1) 先決條件

使用JBehave的理想方法是與Eclipse集成。為此,除了JDK1.7及更高版本以及Indigo上面的任何Eclipse IDE之外,您還需要幾個(gè)jar文件,例如:

  • Junit-4.1.0.jar
  • Jbehave-core-3.8.jar
  • Commons-lang-2.4.jar
  • Paranamer-2.5.jar
  • Freemarker-2.3.9.jar
  • Org.apacje.commons.io.jar
  • Org.apache.commons.collections.jar
  • Plexus-utils-1.1.jar

(2) JBehave的優(yōu)點(diǎn)和缺點(diǎn)

與所有其他BDD測(cè)試框架一樣,JBehave在許多方面也具有優(yōu)勢(shì)。

  • 通過(guò)在具有類(lèi)似規(guī)范的不同項(xiàng)目上工作的不同開(kāi)發(fā)團(tuán)隊(duì)之間實(shí)現(xiàn)更好的協(xié)調(diào),實(shí)現(xiàn)行為驅(qū)動(dòng)開(kāi)發(fā)的最重要目的。
  • 由于規(guī)范具有類(lèi)似的格式,項(xiàng)目經(jīng)理和利益相關(guān)者可以更清楚地了解開(kāi)發(fā)團(tuán)隊(duì)和QA團(tuán)隊(duì)的輸出。
  • 由于JBehave具有推理和思考的細(xì)節(jié),因此產(chǎn)品具有更好的規(guī)格。
  • JBehave使用半正式語(yǔ)言,它還有一個(gè)域詞匯表,有助于在團(tuán)隊(duì)結(jié)構(gòu)中保持一致的行為。

缺點(diǎn):

  • BDD測(cè)試工具的成功主要取決于項(xiàng)目中涉及的不同成員之間的溝通,利益相關(guān)者,開(kāi)發(fā)人員,測(cè)試人員以及組織的管理。缺乏溝通可能會(huì)導(dǎo)致無(wú)法回答的問(wèn)題和疑問(wèn),這可能最終導(dǎo)致錯(cuò)誤的申請(qǐng)或應(yīng)用程序無(wú)法滿(mǎn)足業(yè)務(wù)要求,從而導(dǎo)致所有各方互相指責(zé)。

(3) JBehave是您的Java測(cè)試框架嗎?

JBehave的工作方式與Serenity相同。但是,如果您的目標(biāo)是使自動(dòng)驗(yàn)收測(cè)試更有效,那么將Serenity與JBehave集成以獲得更好的測(cè)試體驗(yàn)是理想的選擇。這是因?yàn)镾erenity的核心概念基于BDD開(kāi)發(fā),它還使用戶(hù)能夠編寫(xiě)功能強(qiáng)大且豐富的測(cè)試報(bào)告。我們將在下一節(jié)中詳細(xì)討論它。

3. Serenity

Serenity是一個(gè)開(kāi)源庫(kù),用于行為驅(qū)動(dòng)的測(cè)試。該框架可幫助您編寫(xiě)驗(yàn)收標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)結(jié)構(gòu)良好且維護(hù)更多。它擴(kuò)展了JUnit和WebDriver的功能。最初,它被稱(chēng)為修昔底德。名稱(chēng)改變背后的原因只不過(guò)是發(fā)音的難度。不過(guò),舊名稱(chēng)可以在引用時(shí)使用。

安裝Serenity的先決條件是什么?

由于該框架是基于Java的,因此您顯然需要Java或任何其他面向?qū)ο缶幊陶Z(yǔ)言的知識(shí)和經(jīng)驗(yàn)。除此之外,在您的工作站中,您將需要:

  • JDK 5或更高版本。
  • Maven 3.0或以上任何版本。
  • IDE工具 - Eclipse通常是所有開(kāi)發(fā)人員的,因?yàn)镸aven和Eclipse的組合更易于使用。

4. TestNG

Cedric Beust創(chuàng)建了TestNG,這是一個(gè)基于Java的開(kāi)源自動(dòng)化測(cè)試框架,受JUnit的啟發(fā)。但是,它更強(qiáng)大。NG意味著TestNG中的下一代。該框架旨在在集成期間以更好的方式執(zhí)行。該框架可幫助開(kāi)發(fā)人員進(jìn)行排序,分組和參數(shù)化等功能,從而使新測(cè)試用例更加靈活,并消除了之前使用的框架的缺點(diǎn)。

(1) 安裝TestNG的先決條件

要安裝TestNG,您需要:

  • 系統(tǒng)中安裝了新版本的JDK。
  • 新版本的Eclipse
  • Java或任何其他面向?qū)ο缶幊陶Z(yǔ)言的知識(shí)和實(shí)踐經(jīng)驗(yàn)

(2) TestNG的優(yōu)點(diǎn)和缺點(diǎn)

除了克服舊框架的缺點(diǎn)之外,TestNG還有幾個(gè)優(yōu)點(diǎn):

  • 該框架使您能夠在多個(gè)代碼片段上運(yùn)行并行測(cè)試。
  • 在測(cè)試用例執(zhí)行期間,您可以生成HTML報(bào)告。
  • 可以根據(jù)優(yōu)先級(jí)對(duì)測(cè)試用例進(jìn)行分組和排列。只需要讓框架運(yùn)行數(shù)據(jù)庫(kù)測(cè)試或前端測(cè)試或任何你想要的東西,執(zhí)行測(cè)試就會(huì)簡(jiǎn)單得多。
  • 您可以參數(shù)化數(shù)據(jù)并使用注釋來(lái)輕松設(shè)置優(yōu)先級(jí)。

唯一的缺點(diǎn)是:

  • 這取決于您的要求。如果您的項(xiàng)目不需要測(cè)試用例優(yōu)先級(jí),則可能不想使用TestNG。此外,設(shè)置TestNG需要一點(diǎn)時(shí)間。

(3) TestNG是您的Java測(cè)試框架嗎?

雖然JUnit執(zhí)行與TestNG相同的所有功能,但它肯定有其局限性。當(dāng)單獨(dú)完成測(cè)試時(shí),JUnit是美好的。但是當(dāng)存在依賴(lài)性時(shí); 您無(wú)法控制先執(zhí)行哪個(gè)測(cè)試。TestNG允許您以任何您想要的順序運(yùn)行測(cè)試用例,從而幫助您。此外,它還有助于參數(shù)化測(cè)試。雖然JUnit 4.5中已經(jīng)存在此功能,但TestNG更有效。如果您的項(xiàng)目很復(fù)雜并且可能需要一百多個(gè)測(cè)試用例,那么花一些時(shí)間設(shè)置TestNG而不是依賴(lài)于JUnit是理想的。

5. Selenide

Selenide由Selenium提供支持,是一種用于為Java應(yīng)用程序編寫(xiě)穩(wěn)定、精確和富有表現(xiàn)力的UI測(cè)試用例的流行工具。像Ajax這樣的現(xiàn)代Web技術(shù)的測(cè)試具有某些復(fù)雜性,例如超時(shí)。WebDriver是用于UI測(cè)試的流行工具,但它缺乏處理超時(shí)的功能。Selenide以簡(jiǎn)單的方式處理所有這些問(wèn)題。此外,它更容易抓住和學(xué)習(xí)。您無(wú)需任何Google要求并搜索教程。您需要做的就是專(zhuān)注于業(yè)務(wù)邏輯,只需幾行簡(jiǎn)單的代碼,您的工作就會(huì)完成。

(1) 使用selenide的先決條件是什么?

selenide的安裝盡可能簡(jiǎn)單。如果您使用的是Maven,則需要在pom.xml文件中添加以下行。

(2) selenide的優(yōu)點(diǎn)和缺點(diǎn)

在應(yīng)用程序的前端層,在服務(wù)器端使用Java,測(cè)試人員面臨的最常見(jiàn)問(wèn)題是超時(shí)。您編寫(xiě)的測(cè)試用例目前可能正常工作,但幾天之后,也許某些Ajax請(qǐng)求將比現(xiàn)在花費(fèi)更多時(shí)間或者某些JavaScript將運(yùn)行得更慢。此外,您的系統(tǒng)可能同時(shí)運(yùn)行另一個(gè)進(jìn)程,導(dǎo)致測(cè)試用例失敗。更不幸的是,你可能花了幾天時(shí)間找出這些問(wèn)題的根源。Selenide通過(guò)以下方式幫助您:

  • 簡(jiǎn)潔的測(cè)試用例編寫(xiě)過(guò)程,消除了超時(shí)問(wèn)題。
  • 支持使用AngularJS開(kāi)發(fā)的應(yīng)用程序的測(cè)試
  • 減少了傳統(tǒng)Selenium工具使用的大多數(shù)命令。

到目前為止,我們還沒(méi)有發(fā)現(xiàn)使用Selenide有任何明顯的缺點(diǎn)。

(3) Selenide是您的Java測(cè)試框架嗎?

對(duì)于UI測(cè)試,除了Selenium WebDriver(Selenide的父框架)之外,沒(méi)有更好的基于Java的框架。顯然,WebDriver無(wú)法解決由Ajax Timeout或運(yùn)行緩慢的JavaScript或任何需要時(shí)間加載的動(dòng)態(tài)內(nèi)容引起的問(wèn)題。為了克服這些問(wèn)題,我們之前在測(cè)試用例中使用了“ wait_until”或“ sleep”方法。有了Selenide,我們不再需要考慮這些問(wèn)題了。只關(guān)注業(yè)務(wù)邏輯,測(cè)試用例可以很好地滿(mǎn)足其目的。

在當(dāng)前的敏捷時(shí)代,開(kāi)發(fā)人員也需要參與測(cè)試。了解測(cè)試知識(shí)的重要性是專(zhuān)業(yè)Java開(kāi)發(fā)人員與業(yè)余愛(ài)好者的區(qū)別。您沒(méi)有必要成為專(zhuān)家,但至少您應(yīng)具備編寫(xiě)可自動(dòng)驗(yàn)證代碼的測(cè)試用例的基本知識(shí)。在本文中,我們通過(guò)了五個(gè)工具,這些工具是全球開(kāi)發(fā)人員的UI測(cè)試,單元測(cè)試和應(yīng)用程序的BDD測(cè)試。根據(jù)比較結(jié)果,我們可以得出結(jié)論,如果您對(duì)自己的工作很誠(chéng)懇,并希望成為專(zhuān)家開(kāi)發(fā)人員和測(cè)試人員,那么上面提到的工具就會(huì)在您的日常任務(wù)中發(fā)揮作用。


名稱(chēng)欄目:2019年前5大Java自動(dòng)化測(cè)試框架
本文地址:http://www.dlmjj.cn/article/dhjgeoh.html