咱们已经知道如何用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的.
怎么样?学会了吗?