咱們已經知道如何用Postman組裝併發送消息,那咱們如何根據需求用Postman來作測試呢?在這開始以前,咱們先來看看Postman的左邊面板:java
這裏包含了History和Collection,咱們能夠在History裏面看到咱們曾經發送過的HTTP Request, 咱們能夠很方便的經過點擊上面的項從新構建咱們的request。而右邊的Request Builder面板上,還有兩個按鈕,Pre-request Script和Tests。服務器
這裏的的Tests是咱們關鍵。併發
打開Tests,咱們能夠看到窗口分紅兩部分,一部分是左邊的代碼窗口和右邊的Snippet窗口,點擊對應的snippet,postman會在左邊的窗口爲咱們生成對應的代碼,在下面的圖中,我選擇了「Response body: is equal to a String」和「Response time is less than 200ms」,能夠看到Postman在代碼窗口爲我加載對應的語句,這裏我把但願的responseBody改爲了「No valid parameters!!」.
這樣我就完成一條簡單的測試用例:less
另外,這裏你們能夠看到在URL輸入框中,我使用了{{myLocalHost}},那咱們如何定義變量呢,首先,咱們得建立一個Environment,點擊Environment那個button(在這裏是「SampleEnv」那個button,由於我將其選擇我當前使用的Environment)ide
在Postman裏面:post
點擊以後,選擇Manage Environments。若要新建,選擇Add。若要編輯global Environment, 選擇Globals測試
咱們來看看我已經建立好的SampleEnv,這裏只建立了一個變量myLocalHost,也就是咱們以前看到的在URL裏的那個變量,這個變量在URL裏能夠用,在test script裏面能夠用,任何其餘地方你均可以經過{{}}符號得到它的值。ui
這裏稍微舉例一下變量的好處,好比你把APP部署在本身的機器上時使用的域名是localhost,而部署在服務器上時,域名就是具體的服務器ip。爲了在兩種不一樣環境上測試你的API,你在構建request的時候就須要輸入不一樣的url,但若是你使用了變量,你就可使用變量來複用你的url,你只需在不一樣的environment裏面給url賦不一樣的值,那你的request就徹底不須要變。同理,在tests裏面也是同樣的。這裏就不贅述google
定義好了test case (寫好的Request和定義好結果檢查tests),咱們就須要運行,你能夠簡單點擊send按鈕查看結果,但這時候你不會明顯的看到測試的結果,你須要把這條request加入到collection當中。咱們先建立一個collection:url
在彈出的窗口中建立你的collection,命名爲你test suite的名字:
建立collection以後,把已經寫好的request(test case)保存到collection(test suite)當中。
點擊窗口中的save以後咱們就能夠在左界面上看到咱們的這個collection和collection中的request了:
點擊 ‘>’按鈕(點擊了以後會變成 ‘<’),咱們就會看到彈出的窗口中有一個‘Run’,運行一下,就會彈出一個collection runner的窗口。點擊一下start test,你就能夠看到運行的結果,這裏我選擇了運行100次,在左邊窗口你還能夠看到以前的運行記錄:
加入我把App的接口改成:
@Override protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { if( request.getParameter( "name" ) != null ) { response.getWriter().print( "lex" ); } else { response.getWriter().print( "No valid parameters???" ); } }
這會致使response body的比較不匹配 No valid parameters??? != No valid parameters!!
那你就會看到 Body is correct case是FAIL的.
怎麼樣?學會了嗎?