成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

開發(fā) 前端
在API的測試中,有時候需求是對整個文件進(jìn)行檢驗(yàn)而不是某個特定的值,或者說要對某個特定的值在不同的用例中重復(fù)地進(jìn)行驗(yàn)證。

 應(yīng)用場景

在API的測試中,有時候需求是對整個文件進(jìn)行檢驗(yàn)而不是某個特定的值,或者說要對某個特定的值在不同的用例中重復(fù)地進(jìn)行驗(yàn)證。這種狀況下,我們最喜歡用的就是變量。可以存取外部數(shù)據(jù)或定義內(nèi)部變量,使代碼變得簡潔、又有可閱讀性,同時測試用例結(jié)果運(yùn)行也能保持一致性。

學(xué)習(xí)要點(diǎn)

·如何讀取外部文件并進(jìn)行文件內(nèi)容的精確對比

·如何讀取外部文件并進(jìn)行文件內(nèi)容的模糊對比

·使用變量驗(yàn)證某個特定的value是否出現(xiàn)

·使用變量驗(yàn)證某個特定的key是否出現(xiàn)

示例中g(shù)et url: https://reqres.in/api/users/2

準(zhǔn)備工作

如果您想跟著以下示例操作,需要做好以下配置:

·測試框架: Java + Karate + Junit 5

·語言: Java, Cucumber

·IDE: Intellij IDEA

·項(xiàng)目類型: Maven

創(chuàng)建測試場景

1.創(chuàng)建feature文件: testvar-use.feature

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

2.創(chuàng)建用例

用例一:讀取外部文件并進(jìn)行文件內(nèi)容的精確對比

如下圖中測試場景:用例中發(fā)送了一個get的請求以后,期待回應(yīng)的代碼是200,并列出相應(yīng)的結(jié)果。代碼And match response == compareResponse 檢驗(yàn)返回的結(jié)果與期待的結(jié)果是否一致 。在Background中代碼:* def compareResponse = read('classpath:src/test/resource/comparedContent.json') 定義了變量compareResponse 是讀取的文件comparedContent.json的內(nèi)容。(注:* 符號實(shí)際上可以換作 Given, 讀取文件的路徑: classpath)

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

如下圖所示:comparedContent.json 內(nèi)容是與 get請求返回的結(jié)果一致的。(注: json文件內(nèi)容格式一定要正確,否則會出現(xiàn)讀取文件錯誤的信息,參看常見錯誤)

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

用例二:讀取外部文件并進(jìn)行文件內(nèi)容的模糊對比

代碼And match response == compareResponseIgnoreValue檢驗(yàn)返回的結(jié)果與期待的結(jié)果是否一致 。在Background中定義變量compareResponseIgnoreValue是讀取的文件comparedContentIgnoreValue.json。與上例中所不同的是期待文件內(nèi)容并不完全與返回的相一致。

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

在comparedContentIgnoreValue.json 中,與上一個用例對比,這里可以看到 "text": 的值換成了"#ignore",當(dāng)進(jìn)行對比時,這個字段的內(nèi)容會忽略。

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

用例三:使用變量驗(yàn)證某個特定的value是否出現(xiàn)

在用例一、用例二中,同時出現(xiàn)了代碼:And match response.ad.url == adUrl , 這里的adUrl 實(shí)際就是Background 中自定義變量 * def adUrl = 'http://statuscode.org/' 。

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

用例四:使用變量驗(yàn)證某個特定的key是否出現(xiàn)

在下面的場景中,代碼And match response.ad.text != null 驗(yàn)證了返回結(jié)果中ad下text 字段必須存在。

下面兩行代碼先定義了一個變量notPresentedKey 并且賦予對應(yīng)的ad下keyNull的字段,然后再驗(yàn)證notPresentedKey 不存在。這里的變量是必需的,否則會出現(xiàn)找不到路徑錯誤。(參看常見錯誤)

這個變量不能放在Background 在本示例中,因?yàn)閞esponse是發(fā)送get請求以后返回的結(jié)果,如果放在Background中,response 還沒有返回,引用就會有錯。(參看常見錯誤)

* def notPresentedKey = response.ad.keyNull

And match notPresentedKey == null

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

常見錯誤

1.文件讀取

用例一,用例二中,當(dāng)json文件內(nèi)容格式不正確時,就會現(xiàn)如下運(yùn)行錯誤:

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

2.不使用變量驗(yàn)證不存在的字段

在用例四中,如果直接用And match response.ad.keyNull == null, 會出現(xiàn)如下錯誤信息,這是因?yàn)樵隍?yàn)證的時候,會先尋找對應(yīng)的路徑 ad.keyNull, 在返回的結(jié)果中是不存在ad.keyNull字段的。)

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

3.在Background中提前引用response

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

字段的匹配與寫法

如下圖所示的正確Json文件格式,整個返回的內(nèi)容在karate中稱作 response。如果要想驗(yàn)證data下的id字段,就可以引用 response.data.id。這里做些補(bǔ)充以免有些初學(xué)不清楚如何引用字段(其實(shí)這也是我開始學(xué)習(xí)時感到困惑的哦。)

測試高手進(jìn)階之路:接口測試用好“變量”,重復(fù)驗(yàn)證也不怕

結(jié)語

是不是變量特別好用啊,節(jié)省了很多寫代碼的時間哦,可以看到定義在Background 中的變量看作是全局變量,可以用在任意一個場景中。在某個場景中定義的變量可以說是局部變量。希望小伙伴們靈活靈用,為您的API 測試助力、加油。

 

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2015-07-28 17:11:00

編程技術(shù)提升

2011-04-18 10:46:39

接口測試

2011-05-19 15:37:57

測試

2021-03-04 15:43:29

前端測試工具開發(fā)

2012-11-28 01:51:53

2011-05-16 15:18:18

測試用例

2011-06-08 17:23:12

測試用例

2023-02-01 09:27:46

2009-03-10 15:30:51

測試架構(gòu)師軟件測試職場

2012-10-24 14:56:30

IBMdw

2011-05-16 15:09:20

測試用例

2022-05-10 14:54:13

驗(yàn)收標(biāo)準(zhǔn)測試用例

2021-12-22 10:19:47

鴻蒙HarmonyOS應(yīng)用

2020-12-08 12:24:55

接口測試Interface

2010-09-16 11:07:28

裁員

2023-10-04 00:14:00

WebSocket網(wǎng)絡(luò)協(xié)議

2011-07-04 18:06:52

測試用例

2011-05-16 14:31:43

測試用例

2023-06-09 15:24:50

UiTest接口鴻蒙

2011-12-23 17:03:29

性能測試用例設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久www成人免费精品张筱雨 | 色婷婷激情综合 | 日本韩国欧美在线观看 | 亚洲免费在线观看 | 精品久久国产视频 | 日韩精品二区 | 黄色在线免费网站 | 成人精品一区二区 | 日本在线精品视频 | 国产一级电影在线观看 | 浮生影院免费观看中文版 | 一色桃子av一区二区 | 97色伦网| 国产精品视频97 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 中文字幕av免费 | 国产精品性做久久久久久 | 欧美一区二区免费在线 | 欧美精品在线一区二区三区 | 日韩av免费在线观看 | 亚洲国产一区二区三区在线观看 | 99久久精品免费看国产免费软件 | gav成人免费播放视频 | 在线播放亚洲 | 国产精品久久久久久久岛一牛影视 | 国产精品日本一区二区不卡视频 | 欧美在线一区二区三区四区 | 久久久久国产一级毛片 | 国产成人精品一区二三区在线观看 | 亚洲精品视频在线 | 国产精品黄视频 | 欧美一级二级在线观看 | 一区二区三区在线观看免费视频 | 日韩视频91 | 国产精品免费看 | 在线播放日韩 | 九九免费在线视频 | 毛色毛片免费看 | 美女网站视频免费黄 | 美女黄网 | 狠狠狠干 |