Postman使用手册

2018-08-03  本文已影响0人  点点白

发送请求和查看响应

发送请求


        Postman的界面分为左边的侧边栏和右边的请求构建器两部分。请求构建器允许你可以快速的创建几乎任何类型的请求。一个HTTP请求的四部分:URL、Method、Headers、Body,在Postman中都可以设置。

        URL:

        在你构建request请求的时候,首先要设置的就是URL。在URL输入框中输入你请求的链接,你可以单击Params按钮,在编辑器中输入key-value格式的URL参数。

        在URL地址栏中的输入和编辑器中输入的key-value参数,不会自动的编码为 URL-encoded,选中要编码的文本,右键选择EncodeURIComponent ,手动编码参数值。

        你可以单独的添加参数,Postman会自动的把他和URL整合到一起,如果你从其他的地方粘贴了URL过来,Postman也会自动的把 Params中的参数进行设置。

        一些API端点使用路径变量,你可以在Postman中设置,他们位于两个 / 中,样式如下:

        如果你要设置他,单击Params按钮,你会发现key部分已被自动设置好了,根据需要填写value部分就行。

        Headers:

        单击Headers切换按钮,你可以在key-value编辑器中设置任何字符串作为header的名称。

        受限的headers和cookies

        不幸的是一些headers收到Chrome和XMLHttpRequest规范的限制,以下headers被屏蔽:

        Accept-Charset

        Accept-Encoding

        Access-Control-Request-Headers

        Access-Control-Request-Method

        Connection

        Content-Length

        Cookie

        Cookie 2

        Content-Transfer-Encoding

        Date

        Expect

        Host

        Keep-Alive

        Origin

        Referer

        TE

        Trailer

        Transfer-Encoding

        Upgrade

        User-Agent

        Via

        headers预设

        你可以保存常用的headers在headr prest里面:

        Method:

        单击HTTP的请求方法按钮,在给出的下拉菜单中选择使用的方法即可,对应的方法需要body的,body部分便被设置为可填写。

        body部分编辑:

        当我们发送请求需要填写body部分时,Postman几乎可以让我们发送任何类型的HTTP请求。body编辑器分为4个部分:

        form-data

        form-data是web表单默认的传输格式,编辑器允许你通过设置key-value形式的数据来模拟填充表单。你可以在最后的选项中选择添加文件。

         这个编码格式同样可以通过设置key-value的方式作为URL的参数。

        Raw

        二进制

接口批量测试

创建测试用例集、子集


        多个接口请求可以放在一起并管理起来。可以一个工程一个Collection,这样方便查找及统一处理数据;

        创建Collections;

        在Collections里添加请求,在右侧准备好接口请求的所有数据,并验证后,点击save按钮;

        保存好之后可以在这里看到;

创建测试用例


         创建接口测试用例,即新建http请求,选择请求方式、写好url、请求头、请求体。

设置变量


        postman的变量和Jmeter的参数化相似,即把若干处出现多次的数值用一个变量表示,达到一次修改、多处生效的效果,便于修改和管理。

        变量可以动态选择不同的测试环境;

         使用这些键值的时候只需要加上两个花括号引用key,跑用例的时候在右上角下拉列表选择需要的环境就好,如下:

添加响应处理


        响应处理有点类似Jmeter里的检查点,即通过检查响应数据是否符合预期来判断test是否通过。在Tests中添加检查条件,postman提供了一些常用的检查条件的代码,直接添加或稍加修改即可。比如要测试返回结果是否含有某一字符串,就可以用到 Tests。以gold_add 接口为例,来编写测试用例,分别测试返回的结果是否含有,如下所示:

        响应成功返回PASS, 失败返回FAIL。

        常用tests如下:

        检查response body中是否包含某个string

        tests["Body matches string"] = responseBody.has("string_you_want_to_search");

        注意:“Body matches string” 需唯一。

        检测JSON中的某个值是否等于预期的值

        vardata=JSON.parse(responseBody);

        tests["Your test name"] =data.value === 100;

        JSON.parse()方法,把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数。

        如:检查json中某个数组元素的个数(这里检测programs的长度)

        vardata=JSON.parse(responseBody);

        tests["program's lenght"] =data.programs.length === 5;

        检查response body是否与某个string相等

        转换XML body为JSON对象

        var jsonObject = xml2Json(responseBody);

        tests["Body is correct"] = responseBody === "response_body_string";

        测试response Headers中的某个元素是否存在(如:Content-Type)

        tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

       或者:

        tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");

        上面的方法,不区分大小写。下面的方法,要区分大小写。

        验证Status code的值

        tests["Status code is 200"] = responseCode.code=== 200;

        验证Response time是否小于某个值

        tests["Response time is less than 200ms"] = responseTime < 200;

        name是否包含某个值

        tests["Status code name has string"] = responseCode.name.has("Created");

        POST 请求的状态响应码是否是某个值

        tests["Successful POST request"] = responseCode.code=== 201 || responseCode.code=== 202;

        很小的JSON数据验证器

        var schema = {

            "items": {

                "type": "boolean"

            }

        };

        var data1 = [true, false];

        var data2 = [true, 123];

        console.log(tv4.error);

        tests["Valid Data1"] = tv4.validate(data1, schema);

        tests["Valid Data2"] = tv4.validate(data2, schema);

        设置环境变量,建立多个接口间的关联

        以gold_add 接口为例,由于该接口有权限验证,需要admin用户才可以做操作,需要添加cookie,所以需要将login 接口关联起来使用。

        在login 请求中, 在”Tests”中加入

        var jsonData =JSON.parse(responseBody);//获取body中返回的所有参数

        postman.setEnvironmentVariable("sign",jsonData.login_info.sign);//把返回参数中的sign设置为环境变量

        这样sign 就可以作为环境变量,应用于gold_add接口。

        在gold_add 接口中,{{username}} 由于在环境变量”user_pwd” 中已经设置,可以直接输入变量名,{{sign}} 动态取得login接口中 Response 的 “sign” 值,{{sign}}已在上面login 请求的”Tests” 中定义。

批量执行测试用例


        点击测试用例集中的“run”,批量运行测试用例,弹出collection runner,点击“Start Run”,批量运行测试用例。

        运行后,弹出测试结果,显示测试通过和失败的个数、请求URL、请求头、请求体信息,响应头、响应体信息,状态码等,我们就可以查看测试用例的执行结果及具体信息

导入导出测试数据

 导出数据包


导出工作环境


 导入数据包


 导入工作环境


如有侵权请联系本人删除哦~~~

上一篇 下一篇

猜你喜欢

热点阅读