接口测试&postman自动化

1、get/post请求区别:

get请求: 用来向服务器获取数据,get请求没有请求体,它的数据是在url里面放的,get请求不安全,post请求安全一点,get请求传输的数据没有post请求传输的数据多
post请求:

1)用来向服务器发送数据,有请求头请求体,请求头存放一些额外的信息,请求体里面是发送的信息

2)x-www:不可以上传文件,form-date可以上传多媒体文件

2、http状态码:

1)常见的http状态码有:

200 - 请求成功

301 - 资源(网页等)被永久转移到其它URL

404 - 请求的资源(网页等)不存在

500 - 内部服务器错误

2)状态码系列:

1XX:响应代码仅在与HTTP服务器沟通时使用

2XX:响应代码表明操作成功了

3XX:重定向,客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。他们通常告诉客户端需要向另一个URI发送GET请求,才能得到所需的表示。那个URI就包含在Location响应报头里。

4XX:客户端错误,表明客户端出现错误。不是认证信息有问题,就是表示格式或HTTP库本身有问题。客户端需要自行改正。

5XX:服务器端出现错误。一般来说,这些代码意味着服务器处于不能执行客户端请求的状态,此时客户端应稍后重试。有时,服务器能够估计客户端应在多久之后重试。并把该信息放在Retry-After响应报头里。

详细状态码参考文章:https://www.cnblogs.com/xflonga/p/9368993.html

3、potman接口自动化:

1)参数化:

 使用{{参数名}}进行参数化,设置方法:点击右上角齿轮-----点击gloable----设置参数名和参数值-----点击save----完成

 

 

 

 

 

参数值引用文件方法:点击runner---data选择文件---设置datafiletype---设置迭代次数

 

 

 

 

 

 参数化文本格式:参数间以逗号分隔

 

2)断言:Tests里面设置断言,右侧选择要断言的类型

①常用断言:

状态码匹配:

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

部分信息匹配:

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

全部信息匹配:

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

②可以通过动态获取参数值,和参数化里面的值进行比对,将函数填进要比对的值里面:

pm.globals.get("variable_key");
pm.variables.get("variable_key");

 

 

 

3)运行:选择

 

 

 

 

posted @ 2020-04-17 16:01  zntest  阅读(420)  评论(0编辑  收藏  举报