接口测试,首先我们需要拿到接口。
1.前端http 接口,http://127.0.0.1:8986/createContractonline.json
2.使用浏览器自带的开发着模式或者feddle or 其他抓取改请求,入参,以及cookie (很重要)
类似这样的:
3.使用postman 模拟请求。
4.一般一个系统会拒绝你的请求,这里是因为每个系统都会有一定的风险控制,或者权限设置,需要登陆该系统,
拿到能够正常登陆该系统的测试账号。获取cookie值,添加在你要模拟的请求头里,如下:
5.并且将请求方式切换成post ,send 请求。查看结果。如果拿到返回值,那至少说明你的请求是成功了,如果是大于200 的cood 值,就要看看服务器或者你的入参是否正确。
6.此时我们需要将工具请求接口数据的方式转换成代码方式请求,请看这里:
7.入参的这一列有一个code按钮,当然就是转换代码的地方了,如下:
8.个人习惯性的使用python 简洁方便。但是我们可以使用Java ,OKHTTP 是安卓的一个框架,这里我们使用UNirest 即可。
复制生成的代码。
9.创建maven 工程,添加依赖包:
<dependency>
<groupId>com.mashape.unirest</groupId>
<artifactId>unirest-java</artifactId>
<version>1.4.9</version>
</dependency>
10.创建一个测试类HttpQ41,粘贴上面从postman中复制的代码
11.调试代码,如果直接运行,可能会提示:
实际原因是Content-Length header already present ,即Content-Length值已经预制了,在代码中注释掉该行,另外我们也可以设置请求头里的其他属性,如:
User-Agent:设置成正常浏览器代理,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
12.再次运行代码测试。应该就ok 了,随后我们配置请求参数,是用testNG 进行单元测试。
即就是将post 中的参数变量化。如下:
是不是非常简单呢!