成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用java+TestNG進(jìn)行接口回歸測(cè)試

Barry_Ng / 2489人閱讀

摘要:類似于特別是,但它不是框架的擴(kuò)展相較于而言,功能更強(qiáng)大,使用起來更加方便,比較適合測(cè)試人員來進(jìn)行集成測(cè)試或是接口回歸測(cè)試。自帶生成的測(cè)試報(bào)告不太美觀,可以使用進(jìn)行美化。

TestNG是一個(gè)開源自動(dòng)化測(cè)試框架,TestNG表示下一代(Next Generation的首字母)。 TestNG類似于JUnit(特別是JUnit 4),但它不是JUnit框架的擴(kuò)展,相較于Junit而言,功能更強(qiáng)大,使用起來更加方便,比較適合測(cè)試人員來進(jìn)行集成測(cè)試或是接口回歸測(cè)試。

TestNG有以下幾大特點(diǎn):

使用java和面向?qū)ο蟮墓δ?
方法的名稱就不必受限于某種固定的格式,可以通過注釋來識(shí)別需要執(zhí)行的方法;
方法中需要的一些參數(shù)可以通過注釋傳遞;
注釋是強(qiáng)類型的,所以有錯(cuò)誤可以在編譯期體現(xiàn)出來;
支持分組測(cè)試,依賴測(cè)試,并行測(cè)試,負(fù)載測(cè)試等;
支持多線程測(cè)試。

TestNG常用的注釋類型注釋
描述
@Test

將類或是方法標(biāo)記為測(cè)試的一部分

@BeforeSuite

在該套件的所有測(cè)試都運(yùn)行在注釋的方法之前,僅運(yùn)行一次。

@AfterSuite

在該套件的所有測(cè)試都運(yùn)行在注釋的方法之后,僅運(yùn)行一次

@BeforeClass

在調(diào)用當(dāng)前類的所有測(cè)試方法之前執(zhí)行,注釋方法僅運(yùn)行一次

@AfterClass

在調(diào)用當(dāng)前類的所有測(cè)試方法之后執(zhí)行,注釋方法僅運(yùn)行一次

@BeforeTest

注釋的方法將在屬于標(biāo)簽內(nèi)的類的所有測(cè)試方法運(yùn)行之前運(yùn)行

@AfterTest

注釋的方法將在屬于標(biāo)簽內(nèi)的類的所有測(cè)試方法運(yùn)行之后運(yùn)行。

@BeforeGroups

此方法是保證在運(yùn)行屬于任何這些組的第一個(gè)測(cè)試方法之前,該方法被調(diào)用

@AfterGroups

此方法是保證運(yùn)行屬于任何這些組的所有測(cè)試方法執(zhí)行之后,該方法被調(diào)用

@BeforeMethod

被注釋的方法將在每個(gè)測(cè)試方法之前執(zhí)行

@AfterMethod

被注釋的方法將在每個(gè)測(cè)試方法之后執(zhí)行

@DataProvider

被注釋的方法的作用是提供測(cè)試數(shù)據(jù),如果某個(gè)測(cè)試方法希望從這個(gè)DataProvider接收數(shù)據(jù),就必須使用一個(gè)名字等于這個(gè)注解名字的DataProvider

@Parameters

介紹如何將參數(shù)傳遞給測(cè)試方法
TestNG參數(shù)化測(cè)試

TestNG提供了2種傳遞參數(shù)的方式。

第一種: testng.xml

這種方式的優(yōu)點(diǎn)是使得代碼和測(cè)試數(shù)據(jù)分離,方便維護(hù);缺點(diǎn)就是如果需要傳遞的參數(shù)不是基本的java類型,或是需要的值只能在運(yùn)行時(shí)創(chuàng)建,這種方法就不再適用。


第二種:@DataProvider

這種能夠提供比較復(fù)雜的參數(shù)(也叫data-driven testing)。

我們項(xiàng)目中使用的是第二種


如圖示:首先給測(cè)試方法添加值為WithdrawBatchQueryLoopData的屬性dataProvider,然后提供一個(gè)name與之對(duì)應(yīng)的@DataProvider方法,這個(gè)方法里的具體實(shí)現(xiàn),就是從配置文件或是數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。

TestNG分組測(cè)試

分組測(cè)試是TestNG中的創(chuàng)新功能,分組測(cè)試使得我們可以進(jìn)行各種靈活的測(cè)試,在想要并行多組不同的測(cè)試時(shí),不需要重新進(jìn)行編譯。


分組可以應(yīng)用在方法上(一個(gè)方法可以屬于一到多個(gè)分組),也可以應(yīng)用在類上,應(yīng)用在類上時(shí),這個(gè)類中的所有public方法都變成測(cè)試方法,即便他們沒有被注解,也可以繼續(xù)在需要增加屬性的方法上重復(fù)@Test注解。分組執(zhí)行測(cè)試方法有多種形式:

可以通過在testng.xml配置,來指定具體要執(zhí)行的分組


也可以通過集成到j(luò)enkins中,通過參數(shù)化構(gòu)建來設(shè)置要執(zhí)行的分組


還可以通過運(yùn)行Run Configurations時(shí),設(shè)置要執(zhí)行的分組


需要注意的一點(diǎn):Group標(biāo)簽會(huì)導(dǎo)致@BeforeMethod失效

@BeforeMethod的作用是標(biāo)明所注解的方法在每一個(gè)測(cè)試方法運(yùn)行之前會(huì)執(zhí)行一次。例如:

@BeforeMethod

Public void beforeMehod()

@Test

Public void testCase1()

@Test

Public void testCase2()

正常的執(zhí)行的順序?yàn)椋篵eforeMehod—> testCase1—> beforeMehod—> testCase2

但是,在將testCase放入某一個(gè)Group之后,@BeforeMethod就失效了

@BeforeMethod

Public void beforeMehod()

@Test(groups = "group1")

Public void testCase1()

@Test(groups = "group1")

Public void testCase2()

再次執(zhí)行腳本,執(zhí)行順序變?yōu)閠estCase1—>testCase2

解決方法:

1、將@BeforeMethod同樣加入group1

2、設(shè)置@BeforeMethod的屬性alwaysRun=true

TestNG依賴測(cè)試

我們經(jīng)常會(huì)遇到要測(cè)試的多個(gè)接口之間存在依賴關(guān)系,即某一個(gè)接口的執(zhí)行需要依賴上一個(gè)接口的返回結(jié)果,比如執(zhí)行批付查詢時(shí),需要先執(zhí)行批量代付,那么這時(shí)就使用到了TestNG的依賴測(cè)試,TestNG使用dependsOnMethods配合alwaysRun來設(shè)置測(cè)試方法之間的依賴關(guān)系,使用dependsOnGroups來設(shè)置分組之間的依賴關(guān)系


強(qiáng)依賴:在測(cè)試方法運(yùn)行之前,所有的依賴方法都必須運(yùn)行并且成功,哪怕只有一個(gè)失敗,測(cè)試方法都不會(huì)被調(diào)用(是skip而不是fail)

軟依賴(alwaysRun=true):測(cè)試方法在依賴方法運(yùn)行之后總是會(huì)被執(zhí)行,即便某些依賴方法運(yùn)行失敗。

TestNG預(yù)期異常測(cè)試

測(cè)試中,有時(shí)候我們期望某些代碼拋出異常。

TestNG通過@Test(expectedExceptions) 來判斷期待的異常, 并且判斷Error Message

TestNG測(cè)試報(bào)告

執(zhí)行完測(cè)試用例之后,會(huì)在項(xiàng)目的test-output(默認(rèn)目錄)下生成測(cè)試報(bào)告

打開index.html文件可以看到測(cè)試結(jié)果摘要,包括:套件名、測(cè)試用例成功數(shù)、測(cè)試用例失敗數(shù)、測(cè)試用例忽略數(shù)、執(zhí)行時(shí)間和testng.xml文件。

測(cè)試用例都成功的話,測(cè)試結(jié)果以綠底標(biāo)志,測(cè)試用例有失敗的話,測(cè)試結(jié)果以紅底標(biāo)志。testNG自帶生成的測(cè)試報(bào)告不太美觀,可以使用testng-xslt進(jìn)行美化。

來源:宜信技術(shù)學(xué)院 作者:王海燕

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/8886.html

相關(guān)文章

  • 2021年軟件測(cè)試工具總結(jié)——單元測(cè)試工具

    摘要:?jiǎn)卧獪y(cè)試框架作為的標(biāo)準(zhǔn)庫(kù),是其他單元測(cè)試框架的基礎(chǔ)??梢院秃团浜鲜褂镁帉憜卧獪y(cè)試。官網(wǎng)地址單元測(cè)試覆蓋率工具單元測(cè)試中還需要用到代碼覆蓋率工具。代碼覆蓋率統(tǒng)計(jì)工具用來發(fā)現(xiàn)沒有被測(cè)試覆蓋的代碼,完善單元測(cè)試的覆蓋率。 在應(yīng)用程序中,單元是具有一個(gè)或多個(gè)輸入和單個(gè)輸出的軟件中最小可測(cè)試部分。單元...

    qingshanli1988 評(píng)論0 收藏0
  • 軟件測(cè)試需要學(xué)什么?50W+的測(cè)試工程師需要掌握哪些技能?

    摘要:協(xié)議學(xué)習(xí)常見請(qǐng)求方法學(xué)習(xí)和學(xué)習(xí)接口的基本概念接口文檔認(rèn)識(shí)接口測(cè)試用例編寫接口測(cè)試工具使用軟件測(cè)試自動(dòng)化進(jìn)階性能測(cè)試性能測(cè)試的技術(shù)要求很高,不僅僅要對(duì)性能測(cè)試的指標(biāo)測(cè)試分類測(cè)試設(shè)計(jì)有很深刻的理解。 ...

    wushuiyong 評(píng)論0 收藏0
  • 馬蜂窩大交通業(yè)務(wù)質(zhì)量體系建設(shè)初步實(shí)踐

    摘要:大交通研發(fā)質(zhì)量體系建設(shè)為了幫助用戶更好地完成消費(fèi)決策閉環(huán),馬蜂窩上線了大交通業(yè)務(wù),為用戶提供購(gòu)買機(jī)票火車票等服務(wù)。 質(zhì)量是決定產(chǎn)品能否成功、企業(yè)能否持續(xù)發(fā)展的關(guān)鍵因素之一。如何做好質(zhì)量體系建設(shè),這是個(gè)比較大的話題,包含的范圍很廣,也沒有固定的衡量標(biāo)準(zhǔn)。 打開一個(gè)互聯(lián)網(wǎng)公司招聘網(wǎng)站,搜索「測(cè)試工程師」崗位時(shí),你會(huì)發(fā)現(xiàn)幾乎全部 JD 都包含一條要求「建設(shè)或者參與建設(shè)所負(fù)責(zé)業(yè)務(wù)的質(zhì)量體系」。...

    Ilikewhite 評(píng)論0 收藏0
  • 馬蜂窩大交通業(yè)務(wù)質(zhì)量體系建設(shè)初步實(shí)踐

    摘要:大交通研發(fā)質(zhì)量體系建設(shè)為了幫助用戶更好地完成消費(fèi)決策閉環(huán),馬蜂窩上線了大交通業(yè)務(wù),為用戶提供購(gòu)買機(jī)票火車票等服務(wù)。 質(zhì)量是決定產(chǎn)品能否成功、企業(yè)能否持續(xù)發(fā)展的關(guān)鍵因素之一。如何做好質(zhì)量體系建設(shè),這是個(gè)比較大的話題,包含的范圍很廣,也沒有固定的衡量標(biāo)準(zhǔn)。 打開一個(gè)互聯(lián)網(wǎng)公司招聘網(wǎng)站,搜索「測(cè)試工程師」崗位時(shí),你會(huì)發(fā)現(xiàn)幾乎全部 JD 都包含一條要求「建設(shè)或者參與建設(shè)所負(fù)責(zé)業(yè)務(wù)的質(zhì)量體系」。...

    fantix 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<