今天還有人把我列成大牛,我真心受不起。這幾天由于后臺(tái)架構(gòu)問題,打亂了我原本使用python框架來測(cè)試接口的計(jì)劃,不得不使用java進(jìn)行編寫。對(duì)于我而言,這塊經(jīng)驗(yàn)我和應(yīng)屆生,甚至連應(yīng)屆生都不如。下面的方法用了2個(gè)小時(shí)才完全調(diào)通,真心慚愧。
不過我覺得人貴在挑戰(zhàn)自己,貴在愿意去嘗試不熟悉的東西,愿意不恥下問,愿意分享,哪怕再初級(jí)的東西。每個(gè)人都有自己的短板,每個(gè)人都要從0到1
從我一個(gè)App出身的人來講,其實(shí)我以前對(duì)于maven并沒有太大的理解,反而覺得pom這個(gè)文件配置也很繁瑣,沒有太感覺到好處。但的確任何事情不去從0開始做的話,很難去體會(huì)其中的一些因素,比如我這次做接口測(cè)試也一樣。我在2年多前做完完整的以python為基礎(chǔ)的API測(cè)試,但java的話,從0開始去選型,去搭建的確是第一次。
開始我憑借我的經(jīng)驗(yàn)就是選擇了httpclinet,但httpclinet去做接口測(cè)試,僅僅是為了調(diào)試通各種不同類型的請(qǐng)求就下載了很多依賴庫,這方面我真的吐槽Java吐槽的無力了。而且僅僅使用httpclinet的話也不能成體系,簡(jiǎn)單來講可以做demo,但無法真正在項(xiàng)目上很有效率的落地。所以我開始尋求了另外的方式,同時(shí)不得不說為了追求速度,我就直接手動(dòng)下載各種jar包了,開始還是很爽的,但后來就發(fā)現(xiàn)痛不欲生,這個(gè)時(shí)候就有一個(gè)想法,也許如果很多年前是我的話,我也會(huì)想到用maven這種方式吧,否則實(shí)在受不了了,感覺就算工程寫完了也是一亂團(tuán)。
首先我是選擇了rest-assured,對(duì)我來講是完全陌生的東西,當(dāng)然既然是重新來一次,這次我選擇了我從來不怎么喜歡用的maven,一切就這樣開始了。
既然是從0開始,我們就一步一步來講吧。新建一個(gè)maven工程:

當(dāng)然在pom中默認(rèn)我們得要配置上我們基礎(chǔ)要用的:

接著我們來看下我們的測(cè)試代碼,一個(gè)方法是直接斷言,一個(gè)方法是rest-assured我寫的demo方法。

其實(shí)最開始并沒有想用testng的,但過程中為了更好的管理case和生成report,(maven默認(rèn)的報(bào)告已經(jīng)丑哭了)所以最終還是選擇了testng。所以pom做了增加:

build標(biāo)簽里的主要就是報(bào)告和代碼覆蓋率。
同時(shí)增加了testng的case管理xml。

其實(shí)還是很簡(jiǎn)單的,直接mvn test就可以執(zhí)行了。我們可以看到這種報(bào)告。

接下來就是1到100的事情了,我也是要不停的去學(xué)習(xí)更多新的東西,哪怕對(duì)很多人來講是老的東西。