華為雲龍api自動化工具 API自動化 碰到的坑

2021-10-13 06:17:28 字數 1393 閱讀 8560

網路今天寫了個api自動化的**,然後碰到了一堆坑,只怪自己沒有理解清楚,所以搞了大半天才完全解決。。不過**量是不是略大啊 o_o

很早就實現了單個介面的自動化測試,但是我們不可能每個介面都寫一遍**,所以必須整合在一起,解放勞動力

首先,我們的目標是「沒有蛀牙」。噗,被廣告荼毒了。回歸正題,我們想實現一套流程:從excel讀取各個資料(包括請求方法-get/post,路徑,引數,校驗的引數,校驗的值);然後自動測試該條記錄;然後生成報告

宣告apicell類(把需要用到的各個引數宣告出來)

public classapicell catch(filenotfoundexception e) catch(ioexception e) else if(hssfcell!=null&&(hssfcell.getcelltype() == hssfcell.cell_type_numeric)) else if(hssfcell!=null&&(hssfcell.getcelltype()==hssfcell.cell_type_string))elseelse if(method.equalsignorecase("get") && para !="")else if(method.equalsignorecase("post") && para !=null){

response response = apiuntils.postbyparameter(path,contenttype,string2map.stringmap(para));

string json = response.asstring();

string json01 = json.substring(15,json.length() -15);

jsonpath jp =newjsonpath(json01);

string actual = jp.get(ass).tostring();

assert.assertequals(actual,assval);

還需要自己寫不同型別的介面實現方式。我同時用了rest-assured和jsoup兩種(有的介面返回的是html**,所以用到jsoup)。這裡不貼**啦。

好了。。跑吧。。試跑了三個介面,耗時5.7s,速度有提公升,再加點資料進去試試。

給自己做個筆記

1.讀excel單元格資料的時候,必須判斷單元格是否為空,為空會報空指標的錯誤。自己沒有理解這個問題,有條記錄是有個單元格為空的,沒有加判斷,一執行就報空指標,但是自己不明白為啥會報空指標,後面搞清楚了,加了判斷就通過了

2.poi讀取數值會返回為double型別,必須強制轉換為int型。不然通過這個點進行校驗就通不過了

pomdependencies

報告,用的是testng的格式。執行結束後把報告匯出,開啟是這個樣子的。。蠻好看的有木有啊^_^

testng報告

大概就是這樣子了

關於自動化工具

靈活的思維 obt的上線,由最初的人工替換配置檔案,到最後設計配置修改工具 使用show指定要修改的配置項 path指定這些配置項所在的檔案路徑,temp指定檔案,最後通過修改檔案流覆蓋tomcat下相應的檔案 將整個應用的配置改動都放到資料庫中,通過資料庫指令碼來執行應用配置的改動。將繁雜的上線流...

DevOps 自動化工具

devops實踐中,自動化工具的使用是非常重要的,通常涉及到下面幾個方面 讓我們看看這些方面中的一些工具,看它們是如何解決痛點的。雲服務 如aliyun,aws等 使用雲服務,不需要買硬體伺服器 租用機櫃。雲服務很容易按需擴充套件,沒有預先的硬體成本,可以根據流量自動適配。git 儲存 管理 的版本...

selenium 自動化工具

今天在使用selenium phantomjs動態抓取網頁時,出現如下報錯資訊 userwarning selenium support for phantomjs has been deprecated,please use headless versions of chrome or firef...