前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台187: 并发报告(3)

接口测试平台187: 并发报告(3)

作者头像
我去热饭
发布2022-05-20 09:30:52
1650
发布2022-05-20 09:30:52
举报
文章被收录于专栏:测试开发干货

本节课让我们来想办法构造出上节课我们设计的数据格式:

然后 我们来看下数据库的大概格式:

好现在我们来实现代码:

首先,我们先弄好res这个最终体的外层(第一层)骨架:

第二步,我们要给这个res.cases这个列表进行填充。所以是个循环肯定,而循环内的每个元素是个字典,所以:

注意,关于各层级的result 的值,等到我们写完基本结构,再去考虑即可。

这其中的steps依然是个空列表,别着急我们再用一个循环去填充它。

但是先别着急去实现这个循环。

我们先写上最后把这个tmp塞入到res["cases"]这个列表中才行,不然最后容易忘。

然后是这个循环steps。注意此时我们还没有steps,需要去数据库中查。

然后再遍历这个steps 去填充tmp["steps"]

注意,此时要填充的每个元素还是个字典,所以我们还要用一个临时字典去承载这些,但是tmp的名字已经被外层case用过了,所以我们这里加个后缀,叫tmp_step。然后依次填入:

然后最后一个元素是tmp_step["data"]

它是一个字典,比较特殊,内部有三个值:请求数据,返回体,断言结果。

而这三个值都需要根据step_id 去数据库表中查,然后就是把这个step塞入我们外层的tmp["steps"]中了:

好,到此,我们算是构造完了。这里需要先测试下,打印res

打印结果:

打印的结果大家看着不方便,我加几个回车就清晰了:

代码语言:javascript
复制
{'result': '',
 'cases': [
       {'case_id': 21, 
       'case_name': '大用例1', 
       'result_case': '', 
       'steps': [
               {'step_id': 67, 
               'step_name': '调用A接口步骤', 
               'result_step': '', 
               'data': {
                     'request_data': '{"url": "http://127.0.0.1:8000/test_api_A", "method": "get", "api_body": "", "api_body_method": "none"}', 
                     'response': '{"errcode": "0"}', 
                     'assert_result': '{}'
                     }
                  }
                ]
       },
       {'case_id': 22,
        'case_name': '大用例2',
         'result_case': '', 
         'steps': [
                {'step_id': 68, 
                'step_name': '测试B接口步骤1', 
                'result_step': '', 
                'data': {
                    'request_data': '{"url": "http://127.0.0.1:8000/test_api_B", "method": "get", "api_body": "", "api_body_method": "none"}',
                     'response': '{"errcode": "0"}',
                      'assert_result': '{}'
                      }
                  }, 
                 {'step_id': 69, 
                 'step_name': '测试B接口步骤2',
                  'result_step': '', 
                  'data': {
                       'request_data': '{"url": "http://127.0.0.1:8000/test_api_B", "method": "get", "api_body": "", "api_body_method": "none"}', 
                       'response': '{"errcode": "0"}',
                        'assert_result': '{}'
                        }
                    }
                ]
            }
         ]
    }

好了,结构很完美,一遍成。

大家看到自己公司的很多接口返回都是这样多层级,其实都是这样开发出来的哦~

本节课我们到此结束,下节课,我们将要对此数据解决各层级的result结果问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档