• 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、大型项目的接口自动化实践记录----数据分离升级版

  • 相关阅读:
    Vue 事件修饰符 阻止默认事件
    vue created 生命周期
    续集---网络管理常用命令
    网络管理常用命令(6/14) -netstat命令详解
    系统OOM复位定位
    nohup- Shell后台运行
    一个linux命令(6/13):traceroute命令
    一个linux命令(6/12):cat 命令
    linux命令(6/11)--修改文件的用户组chgrp和文件所有者chown
    Linux终端快捷键
  • 原文地址:https://www.cnblogs.com/walkingtester/p/11280678.html
Copyright © 2020-2023  润新知