之前的文章,
利用Charles抓包巧转接口自动化测试用例
Charles抓包后转成接口自动化测试用例(续)
对charles抓包进行了简单的描述,并且对格式的转行,数据的处理进行了一定的描述。有人会问怎么存,那么今天,我给大家讲讲,怎么存,存哪里。
针对怎么存,大家也各有各的想法, redis,mysql,Excel,yaml文件等等,采用的形式也是多样的,每个存储方式都有一定的好处,这里我选择的方式是mysql,为什么选择mysql呢,为了持久化,而且后续拓展到平台上可以无缝的迁移,这就是为啥要用mysql ,眼光放到了未来的接口平台上去了,提升了逼格了,不在单纯的想着接口测试了,眼光更高了,看的更远了。有一定的前瞻性才行。用其他方式也不是错的,只是每个人看到的想到的不一样。本文呢,我会描述下,怎么设计的,具体的代码,我不做讲解了,为什么呢,我给大家提供了思路,设计完毕后,简单的代码,自己还是要写的,好多网友问我不会写代码,会看代码,所以我感觉还是多点讲解,少点代码比较好,不容易描述的还是代码讲解。容易做的,让大家自己取动手去实现就好。
设计,针对这里,我做了这样的构想,首先,接口用例要有项目,有接口,有测试环境,有测试参数,共同构成的测试用例。那么我就对这里的用例采用了设计了5张表,这样就抽离出来了,项目表,接口表,测试环境表,接口用例表,用例参数表。这里为什么要对用例和参数单独维护呢,其实也是在我的工作中我发现的,查数据库去维护格式,比存成字段 后期格式化来的更加简单,或者说更加准确吧。
针对上面的五张表,我们看下,我是如下所示的设计的。
所有的表都有一定的关系,项目,测试环境,接口,接口用例,用例参数之前都是有着一定关系的表,这样设计简洁,而且便于后期的拓展,按照如上的方式,大家可以自行去设计存储的数据表就可以,大致的结构我已经展示出来了。
下面讲讲存的时候,注意点,可能大家最疑惑的就是用例的名称,这里面我的策略是,用一个自动生成测试用例的名称的方法,这里要区分下,这种到处的用例,最好在生成用例名称前加一个特殊的标识。比如Charles等,自动产生对应的名称,利用python的random模块进行随机,存的时候 注意下重复的处理,一般 一个项目的接口用例名称不重复。跨项目 可以重复命名。
按照这样的思路,然后 存的时候用pymysql模块去操作数据库存储即可。注意下数据的清洗,重复的入库的特殊处理,参数的重复也需要进行把控的,同样重复的参数禁止入库。防止重复的用例进入数据库。
以上大概的就是整个存储的思路,给大家啰嗦的做了一些讲解,希望可以帮助大家,也是自己的一点拙见。
一切的设计源于实际业务,
一切的工具服务实际工作。
开发贴近实际工作的工具,
帮助测试团队更好的发展。
关注雷子说测试。