目录
1、使用背景及事项
1.1、使用背景
1.2、在内网环境下,跳过注册和账号登录
2、Postman中请求的创建和发送步骤
2.1、postman发送不带参数的GET请求
2.2、postman发送带参数的GET请求
2.3、postman发送带参数的post请求
3、自动化测试的两大技术点
3.1、参数化运行
3.2、断言
3.3、内置断言分类、含义及用法
1、变量相关
2、使用:
3、状态码
4、响应结果断言:
5、Header :
6、响应速度:
4、Postman导出脚本
5、添加环境变量或者全局变量
背景:Postman是Google开发的一款网页调试与发送网页HTTP请求,一般用来接口测试使用;
一般我们在内网工作环境中使用,无法连接外网时就无法注册和账号登录postman工具,我们可以选择跳过账号登录,直接进入Postman使用页面;
1、打开postman,创建一个NEW Collections;并自定义命名为Demo1;
2、创建一个新的测试集合,并自定义命名
3、点击,添加一个新的请求,并可以自定义命名
4、创建一个请求方法为GET,请求URL为:http://www.baidu.com的请求,并点击发送,在response区域分析返回结果
Body区域:显示服务器返回信息的主体;
cookies区域:显示服务器返回的所有cookie值;(用于验证服务端、客户端身份信息)
herders区域:显示服务器返回的头部信息;
Test Results区域:断言;判断服务器返回的信息是否正确;(自动化测试时需关注的区域)
响应的其他信息:响应的状态码、响应时间、响应信息的大小;
5、请求案例内容的保存
Ctrl + s 或者 command + s
1、以v2ex接口规范文档为例
2、增加一步添加参数
3、以百度翻译API为例,下面是接口规范文档
链接:百度翻译开放平台
规范:
4、postman参数填写及返回结果
5、注意事项
返回结果错误码52003,appid等参数都填写正确的情况下仍返回该错误码,是没有开通百度翻译API服务;
6、使用postman通过百度翻译API把中文翻译为英文
例:将中文:春节,翻译为英文
7、注意事项
1)、参数填写时将中文转成urlencode编码格式;
2)、生成签名认证时,不需要将要翻译的中文转成URLencode格式;
1、以QQ注册为例:
1.1、在Google浏览器的开发者模式下抓包分析;
1.2、postman中参数的填写
1.3、响应结果(因无规范文档,无法判定响应结果的含义)
1.1、参数化:在程序中使用变量代替常量;循环实现自动化运行;
1.2、数据来源:程序本身的字典、集合、列表等;外部数据文件,例如:CSV文件、txt文件等;
1.3、设计参数文件:Postman中支持text文件和CSV文件;
1.4、postman设置
1.5、CSV文件数据存储
1.6、自动化设置
1.7、预览结果
1.8、执行结果
1、断言:脚本中添加相应的判断,实现脚本自动的判断实际结果和预期结果的一致性;
2、断言机制:自己写的断言机制:if--else等;框架或者内部自己的断言机制;
3、postman断言设置以及执行结果
4、json格式内容断言
5、执行结果
6、对json中的多个值断言
Get an environment variable 获取一个环境变量
Get a gloval variable 获取一个全局变量
Get a variable 获取一个变量
Set an environment variable 设置一个环境
Set a global variable 设置一个全局变量
Clear an environment variable 清空一个环境变量
Clear a global variable 清空一个全局变量
获取变量:如果在下一个请求中用到上一个请求的返回值,可以使用“设置一个全局变量”将请求的返回值设置为全局变量后,在下一个请求中,使用“获取一个全局变量”取到该值。
清空变量:这里的清空等译删除变量,一个参数使用完成后,需要删除,或者清空值都可以使用该方法。
Status code: Code is 200 判断状态码是否正确;默认判断状态是否为 200, 可修改;
Status code:Successful POST request 判断状态码是否为预期结果之一;比如默认断言状态码是否是 201, 202 中的一个;
Status code:Code name has string判断状态码描述是否包含字符串,比如是否包含 Created;
Response body: Contains string 响应结果是否包含字符串;
Response body: JSON value check 响应结果如果是 JSON,检查具体的 JSON 值;
Response body: Is equal to a string 响应结果与字符串是否全部匹配预期的字符串;
Response body: Convert XML body to a JSON Object 将 XML 转换成 JSON;
Response headers:Content-Type header check 响应头部中是否包含字段;
Response time is less than 200ms 响应时间是否少于多少 ms。
1、导出对应语言的脚本(以Mac版本的postman为例);win版本点击cookies旁边的code;
2、查看Python格式的脚本
1、添加全局变量或者环境变量(以Mac版本postman为例)
2、 添加全局变量并保存
3、到请求中使用该变量