6、大型项目的接口自动化实践记录----订单新增

        练完手,我们就开始对实际业务开始做自动化。

        下图为简化后核心业务的一小部分内容。

 


简化的业务

        按计划,从核心业务开始做,也就是从订单开始做。

一、订单新增接口抓包

        前端页面如下图,把值填上,点击保存,然后看下抓的包。

        PS:过程像点击公司选择按钮,返回公司列表的接口,不能直接降低日常工作量,因此优先级排后,先跳过。


部分前端

还是先看一下headers里的信息,可以获取到headers、url、uri、cookies


抓包图1

 


抓包图2

然后看一下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的量有点过多了。

 

上一篇  5、大型项目的接口自动化实践记录----登录

下一篇  7、大型项目的接口自动化实践记录----数据分离升级版

posted on 2019-08-01 09:46  慢慢走的测试  阅读(763)  评论(0编辑  收藏  举报