## 簡單測試
現在有這樣一個業務場景,我需要先登錄,然后獲取報名訂單列表,而如果要登陸的話又必須要獲取圖片驗證碼然后把驗證碼輸入到登陸接口的入參里,如果這樣一個業務場景由人工手動來做的話是比較繁瑣的,接口之前的信息需要來回切換,那么用 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 為 default;Url 代表使用默認的 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,點擊運行,便會彈出一個文件選擇頁面,如下圖:

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

> 已經執行成功,同時也打印出了新上傳圖片的路徑地址!