6、大型项目的接口自动化实践记录----订单新增
练完手,我们就开始对实际业务开始做自动化。
下图为简化后核心业务的一小部分内容。
按计划,从核心业务开始做,也就是从订单开始做。
一、订单新增接口抓包
前端页面如下图,把值填上,点击保存,然后看下抓的包。
PS:过程像点击公司选择按钮,返回公司列表的接口,不能直接降低日常工作量,因此优先级排后,先跳过。
还是先看一下headers里的信息,可以获取到headers、url、uri、cookies
然后看一下data部分,比较复杂,字段150+,如图还有的key对应的value是json串
PS:有很多字段没填,所以下面很多字段值为空。
二、订单新增接口分析
数据有点多,先分析下包含哪些数据:
1、请求的基本信息:
①请求头:前面说过的默认headers
②请求的url:https://xxx.com:端口号
③uri:/c/contractsign/addcontract
③cookies:JSESSIONID
2、请求的data:
1)前置数据:
①可当做基础数据:如公司、地址、费用类别等
②变化的前置业务数据:报价单等,这块比较复杂,先跳过,后续文章分析
2)业务数据:
①字段独立:与其他字段无关联
②字段关联:如费用类别影响其他字段是否有值,购买描述等于其他字段拼接
③值为json串,对应业务中的明细部分,值里面还嵌套着json串,对应不同的价格段。
④id类:这里的id为 ‘-’+时间戳,在成功新增后会用新id替换,业务的特殊性下的产物。
其中请求头比较容易就得到。
请求的data中,前置数据部分,先不考虑变化的业务数据,则其他可当做基础数据的部分,固定用一些数据做即可。业务数据部分是变化,则人工构造。
PS:因为上述的数据中,没有数据被使用后不可用的问题,因此直接用抓包抓到的数据作为case数据即可。
三、订单新增接口实现
在做新增订单之前,需要先登录,因此需要先引用前面登录方法所在的资源文件:
PS:因为登录会被其他接口使用,因此把它放在接口公共函数里。
1、登录并获取cookies
2、headers、data赋值
3、带上cookies、headers跟服务器建立连接,带上对应的data请求订单新增接口,获取结果
PS:结果对比放后面在写
case执行,我们到系统前端看一下,可以看到数据成功新增一条,打开具体数据查看正常。
可以看到,实现上多了一个先登录的步骤,其他跟登录接口一样,就是data的量有点过多了。
作者:慢慢走的测试
出处:https://www.cnblogs.com/walkingtester/
交流群:636090586(备注博客园)
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果喜欢我的文章,请关注我的公众号