httprunner基础
安装
httprunner只需python支持(版本3.6),安装完python后,使用下面命令完成安装。
pip install httprunner
什么是yaml
yaml是专门用来编写配置文件的语法,使用简洁,比json格式更加方便。所以我们也选用yaml来编写我们的接口脚本。 yaml基本语法如下:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时只允许使用空格
- 缩进的空格数目并不重要,相同层级的元素左侧对齐即可
- ‘#’表示注释
录制生成自动生成yaml文件
命令如下: har2case xx/xx/xx.har xx.yml
##如何运行 命令如下: hrun xxx/testcases/xxx.yml
测试报告如何查看
在执行完后,测试报告会自动生成在目录下的reports里,找到最新打开即可。
如何拓展
对于一些特殊的操作,例如:加密,随机生成手机号等。我们可以在根目录下的debugtalk.py 里编写相应的方法,以达到我们的需求。
http基础
http是什么,网上有很多文章,可以自行查看。这里说一下,我们需要了解的基础,以便我们更快的理解接口脚本,我们接口测试其实就是在扮演客户端的角色和服务端进行交互。简单描述下,用户登录接口的过程
- 客户端发起请求,发送用户名,密码给后端
- 后端收到请求,生成加密字段,塞到请求头中
- 客户端拿到该字段后,在接下来的请求会带上该字段,以标识用户状态
- 后端对之后的每次的请求,都会先验证该字段是否有效,进而选择是否正常响应这次请求
headers(请求头)
请求头是我们在抓包时看到的header字段中的信息,里面的信息很多我们需要了解有以下几个:
- content-type用于指定内容类型,即我们在发送请求时,以什么类型将数据传送给后端
- user-agent用户告知服务端,用户是在用什么工具访问服务(手机、浏览器),如果服务端不校验该字段,我们可以不填写。但公司业务会校验,且某些业务还会将cookie塞在这里
- cookie是存储在用户机器的一段文本信息,用户登录后,服务端会塞一段加密文本到cookie中,之后的请求会携带该字段用来标识用户的状态
body(请求体)
请求体就是我们抓包看到的json数据或者表单数据,当然还有其他,最常用的就是这两个
- json格式的数据,对应请求头中的content-type为application/json
- 表单格式的数据,对应请求头中的content-type为application/x-www-form-urlencoded
response(接口返回数据)
接口请求成功后,服务端会返回数据。我们需要依据实际情况,对数据进行校验,来验证这次请求是否达到我们的预期。