日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

前端接口自动化测试工具-DOClever使用介绍(转载)

發布時間:2023/12/13 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 前端接口自动化测试工具-DOClever使用介绍(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DOClever 不僅集成了文檔編寫,團隊協作,接口運行,mock 數據等功能,還有兩個功能是讓我們團隊大大的提高工作效率的。一個是接口的自動化生成,可以根據接口數據自動生成文檔信息,還有一個便是本文分享的重點,接口的自動化測試! 傳統的接口測試往往是接口一個個運行,觀察返回數據是否顯示正確,然后再用這個接口的出參手動的填入下一個接口的入參,這樣的測試流程不僅很繁瑣,效率低下,遇到業務場景比較復雜的很容易發生錯誤。所以我們需要一個自動化測試的解決方案,可以用最少的代價做最有效率的事情。 以 DOClever為例,假設我們的工程有以下四個接口:

那么現在有這樣一個業務場景,我需要先登錄,然后獲取報名訂單列表,而如果要登陸的話又必須要獲取圖片驗證碼然后把驗證碼輸入到登陸接口的入參里,如果這樣一個業務場景由人工手動來做的話是比較繁瑣的,接口之前的信息需要來回切換,那么用DOClever如何來做自動化測試呢? 我們在DOClever里切換到測試欄目下,新建訂單模塊,然后新建訂單列表測試業務,在訂單列表下新建一個測試用例,就叫獲取訂單列表,如下圖所示:

然后我們去編寫這個測試用例,DOClever的測試用例用 javascript 編寫即可,js 本身還是比較簡單,學習一下很快就能上手,如下圖:、

代碼提取出來如下: var a=獲取驗證碼;

var res=await a();
var text=await input("aaa",res.data);
log(text);
a=登錄;
var res=await a({
body:{
"code":text
}
}); var c=報名訂單列表;
res=await c();
log(res.data.code);
return true;
獲取驗證碼,登陸,報名訂單列表都是我們點擊插入接口按鈕插入的接口,插入頁面如下:

上圖中 baseurl 為 defaultUrl 代表使用默認的 baseurl 運行,否則可以選擇我們想要的 baseUrl,query,header 里面如果有參數,我們可以設置參數的值,比如登陸接口的插入頁面:

var res=await a();
這一行代表我們執行獲取驗證碼的接口,因為這是一個異步接口,所以需要 es7 里面的新語法 await 來等待這個異步請求的數據返回。 var text=await input("aaa",res.data);
res.data 的值就是驗證碼圖形數據,input 函數是一個用戶輸入的函數,第一個參數是顯示的 title,第二個參數是需要在輸入框中顯示給用戶的內容,這里就是把返回的驗證碼圖片展示給用戶看,然后用戶手動輸入驗證碼,同時程序等待輸入返回,返回值賦值給 text 變量。 log(text);
log 是一個輸出函數,只有一個參數,是需要輸出的內容。 a=登錄;
var res=await a({
body:{
"code":text
}
});
這段代碼就是調用登陸接口,將 text 的內容作為登陸接口的 body 里面的 code 字段的入參,然后等待接口返回結果。 var c=報名訂單列表;
res=await c();
log(res.data.code);
return true;
這一段代碼就是調用報名訂單列表,然后將返回數據中的 code 字段打印出來,return true 代表這個測試用例已通過,return false 代表未通過,return 或者沒有 return 語句代表這個用例結果未判定。 最后,不要忘記在每個語句結束的地方以分號結尾,這個非常重要! ok,我們寫完后還有一件事情不要忘記了,就是設置 defaultUrl,它會作為每個接口的 baseUrl 來運行接口,我們點擊這個按鈕即可選擇:

設置完成后,點擊用例編輯頁面的運行按鈕,會出現下圖所示:

這就是 input 彈出的輸入框,圖片展示的我們請求驗證碼接口返回的驗證碼圖片,我們輸入 pppx 驗證碼,然后點擊確定,測試會自動按照流程走下去,當彈出運行完成的提示框時,我們看下輸出標簽頁:

整個用例的詳細輸出信息都會完整的打印出來。 那么如果接口需要文件上傳,DOClever可不可以實現呢,答案完全是可以的,我們新建一個用例:

然后編輯測試用例的代碼: var a=上傳頭像;
var res=await a();
log(res.data.data);
return true;
ok,點擊運行,便會彈出一個文件選擇頁面,如下圖:

我們選擇需要上傳的圖片,點擊確定,等彈出運行完成提示框,我們看下輸出標簽頁的內容顯示:

已經執行成功,同時也打印出了新上傳圖片的路徑地址! 那么不同的測試用例之間能不能聯調呢,是完全可以的,我們可以在一個用例里面插入另一個用例,然后用內部對象 global 來在用例之間傳遞數據,比如我們可以把獲取訂單列表這個用例改寫下: global["name"]="sx";
var c=上傳頭像;
res=await c();
return true;
把上傳頭像這個用例也改寫下: var a=上傳頭像;
var res=await a();
log(global["name"]);
return true;
然后運行獲取訂單列表這個用例,輸入如下所示:

說明用例是可以嵌套運行的,并且可以傳遞數據。DOClever還可以批量運行測試用例,如下圖:

如上圖所示,勾選你想要運行的測試用例,然后點擊運行,便可以批量的運行測試用例,且測試用例的返回狀態和輸出都會實時的保存起來并顯示

這樣無論是對于前后端開發,還是測試人員,都非常方便做回歸測試啦! 以上都是DOClever功能的冰山一角,有了DOClever,團隊的溝通和開發效率都提升了很多。另外,DOClever是免費開源的,很多團隊擔心接口的保密性,因此DOClever提供了簡單完善的本地部署功能,但是功能和線上是一模一樣,最重要的是你可以根據團隊的需求自由的定制DOClever,這些都是完全可以的!

高級測試
DOClever允許你用javascript代碼來編寫你的測試用例,舉例
vara=獲取圖片信息;
varres=awaita({
query:{
a:123
}
});
global["sx"]="ddd";
vargg=登錄;
awaitgg();
varb=info;
res=awaitb({
query:{
sx:"ddd"
}
});
vartext=awaitinput("請輸入值",res.data)
log(res.status);
returntrue;
上述代碼為一個簡單的用例,注意每個語句都需要用分號來結尾,藍色的內容代表你插入的接口,橘黃色的內容代表你插入的用例,執行一個接口或者用例需要用await來等待數據返回,并且我們還可以在執行接口的時候動態的傳入接口參數數據:
param:restful中的param對象
query:query參數對象
header:header參數對象
body:body參數
這里可以是一個對象或者字符串,字符串代表接口會把這個字符串當做整個body發送出去,如果是對象的話,有兩種方式:
1、key-value類型
2、json類型
當類型為json的時候,支持層級之間用"."來進行分隔,比如:
body:{"a.b.c":"aaa"}
這個就代表body["a"]["b"]["c"]的數據為aaa,如果路徑不存在,會自動添加返回值:這里returntrue代碼當前的用例執行成功,如果是false代表失敗,如果直接return或者沒有return代表當前的用例結果未判定。
內置變量:
input:輸入框
第一個參數是給用戶的提示信息
第二個參數是展示給用戶的數據
global:全局對象,可用于在不同的用例之間傳輸數據
log:輸出函數,只有一個參數,為需要輸出的數據
Base64、MD5、SHA1、SHA256、SHA512、SHA3、RIPEMD160
這些加密函數只有一個參數,為加密的字符串
AES、TripleDES、DES、Rabbit、RC4、RC4Drop
這些加密函數有兩個參數:
第一個參數是加密的字符串
第二個參數是salt

組合測試

那么不同的測試用例之間能不能聯調呢,是完全可以的,我們可以在一個用例里面插入另一個用例,然后用內部對象 global 來在用例之間傳遞數據,比如我們可以把簡單測試中的獲取訂單列表這個用例改寫下:

global["name"]="sx"; 
var c=上傳頭像; 
res=await c(); 
return true; 

把上傳頭像這個用例也改寫下:

var a=上傳頭像; 
var res=await a(); 
log(global["name"]); 
return true; 

然后運行獲取訂單列表這個用例,輸入如下所示:

說明用例是可以嵌套運行的,并且可以傳遞數據。 DOClever 還可以批量運行測試用例,如下圖:

如上圖所示,勾選你想要運行的測試用例,然后點擊運行,便可以批量的運行測試用例,且測試用例的返回狀態和輸出都會實時的保存起來并顯示,如下圖:

這樣無論是對于前后端開發,還是測試人員,都非常方便做回歸測試啦!

后臺輪詢

DOClever還提供了在后臺定時自動運行測試用例的功能,并且可以把運行接口發送到指定成員的郵箱!

點擊上圖所示按鈕,出現如下界面

我們現在需要運行測試用例,注意,這里的用例不能是帶有input和圖片上傳的用例,因為沒有外界的手動干預,這些用例是會失敗的。
然后選擇需要發送郵件的成員,這里的成員需要在個人設置里面設置好自己的郵箱

上圖中有兩點需要注意,第一是發件人的郵箱密碼,很多郵箱做了權限加固,所有有時候密碼不一定可以,需要郵箱的授權碼,第二是立即執行一次,這里的意思是如果保存,那么這個輪詢會立即執行一次,這樣可以驗證設置的內容是否正確!

總結

以上是生活随笔為你收集整理的前端接口自动化测试工具-DOClever使用介绍(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。