API自動化測試

聲明: 一切內(nèi)容都是針對自己,如果發(fā)現(xiàn)文中有不對的地方,歡迎留言指教或討論,勿噴。

寫在前面

項(xiàng)目是一個(gè)API項(xiàng)目,剛上的時(shí)候,發(fā)現(xiàn)組里只有契約測試,沒有自動化測試來覆蓋基本功能測試,怎么做regression呢,又集合項(xiàng)目之前用JMeter做過性能測試,所以就直接使用JMeter來做功能自動化了,使用了一段時(shí)間后,痛點(diǎn)慢慢顯現(xiàn)。

痛點(diǎn)

  1. JMeter有GUI,可以用它的客戶端來組織自己的用例,保存后,會自動生成.jmx文件以供命令行運(yùn)行,但.jmx太晦澀,不好修改,在提PR的時(shí)候,也不容易看出來哪里有改動,這個(gè)時(shí)候就會覺得有點(diǎn)笨重。
  2. 雖然可以使用csv等文件統(tǒng)一組織用例,但需要同時(shí)用JMeter打開jmx文件再用個(gè)文本編輯器打開csv。
  3. 使用JSR223在校驗(yàn)Assertion的時(shí)候比較局限,debug很不方便,只能打log。
  4. 生成的report是從性能方面顯示結(jié)果的,但是支持自定義report格式。
    5.怎么篩選一個(gè)用例是否可以在某一個(gè)環(huán)境上運(yùn)行,比如,在test上或release上的回歸用例比較多,而在Staging或PROD上,由于測試數(shù)據(jù)的局限,用例比較少。

結(jié)論:

老老實(shí)實(shí)用JMeter做性能測試吧

問題:

需要尋找一個(gè)合適的API接口功能自動化的工具?

Actions:

嘗試以下工具,

  1. REST-assured
    基于Java的DSL,詳細(xì)閱讀了它的Usage Guid, 看到這張圖的時(shí)候,已經(jīng)知道這就是我想要的功能了:
    REST-assured
  2. karate
    開源工具,類似上邊的REST-assured,也是基于java的,也支持BDD的方式,Karate vs REST-assured,這里有兩者的對比,可以自由比對response的內(nèi)容。
    Report: 基于feature文件的report,看起來很方便
    [圖片上傳失敗...(image-f337c5-1569319909953)]
    Hook: 可以用tag的annotation來區(qū)分case,在不同環(huán)境運(yùn)行測試,如dev,test或者是staging之類。
    Pipeline運(yùn)行:
mvn test -Dtest=SampleTest#testTags
  1. Airborne
    基于Ruby語言,對于返回的response可以靈活校驗(yàn)。
    校驗(yàn).png

    pipeline運(yùn)行: rspec spec
    可以通過加x來Ignore暫時(shí)不需要的case。
  1. pyresttest
    基于Python,編輯yaml文件,不習(xí)慣。

  2. apiscience
    高級的API監(jiān)控工具。

  3. unirest
    是一個(gè)輕量的小工具,很開心找到了一個(gè)支持.NET的,github查了下比較尷尬,放棄。

總結(jié)

對比了幾個(gè)工具,不想繼續(xù)找下去了,綜合看來#2目前最棒,決定試用,稍后有試用貼給大家分享。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 樓上夫妻打架讓我?guī)椭鷪?bào)警 和女兒說以后找老公要注意 女兒問那爸爸有沒有打過你 我說沒 她說那你可找對人了
    潘潘郡主閱讀 105評論 0 0
  • 當(dāng)我看到的反應(yīng)居然是 在哈哈笑著說我有嗎?有這樣嗎?好吧,已記不得了
    千雨小花閱讀 546評論 0 0
  • 看著大海 沐浴陽光 滿載而歸 畫畫改變了你的人生 心心念的海南環(huán)島寫生之旅結(jié)束了,寫下這些來記錄此行 為什說心心念...
    獨(dú)尊孤鷹閱讀 457評論 0 0
  • 《薔薇島嶼》里的那段話:最好的愛情是兩個(gè)人彼此做個(gè)伴,不要束縛,不要纏繞,不要占有,不要渴望從對方身上挖掘到意義…...
    默看紅塵閱讀 993評論 5 13

友情鏈接更多精彩內(nèi)容