现在回顾一下我们的并发前面的步骤,多线程内运行的函数是指向了单独运行用例的unittest文件。现在我们要新建一个文件,这个文件即将作为我们运行例且可以把执行结果写进数据库的功能。
文件名为wqrf_run_case.py,位置在views.py同级。在创建好后,我写上了必须的文件头,这些代码在run_case.py中是一样的头。
然后我们进行文件的整体结构分析:
1. 请求之前- 数据准备阶段。
2. 请求中
3. 结果处理
上面这三部分,基本都是我们之前写过的代码,都在run_case.py中,稍微改改就能用。所以虽然内容繁杂,但是也不用耗费我们过多精力。
下面这部分还算 是新的比较烧脑:
4. 结果保存格式
这个部分,我们要设计一种数据格式,之后我们的前端显示报告的时候要提取。
首先这个表的设计,要按项目区分。所以每条记录,要有项目id,证明是某个项目下的并发结果。多次并发结果我们这次全都好好存储上。
但是很显然,这个数据是个超多维度的:
每个步骤都有自己的请求体-返回值-断言结果-提取结果等,这就至少是个二维数据,然后多个步骤成为一个大用例,这就三维了。然后多个大用例成为这样一次的并发结果,这就是四维了。
所以我们需要一个类似这样的数据结构进行存储:
这样的一条数据,就顶上了三维,作为数据表本身支持的二维其中的横轴,所以这个四维数据得以保存在数据库中。
当然,有的小伙伴会说用多个表不是更好么,这样也可以,而且应该是企业级软件的必备方式。但是这样一步走下来,势必步子迈的比较大,很多小伙伴可能直接就懵了,所以作为教程来说,还是一点一点实现比较好。毕竟我写的教程是为了让新手能看懂,而不是单纯的秀技术写跨越思维论文。
好了,本节课设计到此结束,欢迎持续关注下一节,我们来实现这个复杂的文件吧~ 。