首页 > 其他 > 详细

4、执行主体实现

时间:2021-04-08 18:16:26      阅读:27      评论:0      收藏:0      [点我收藏+]

当有了测试数据之后,就需要一个执行的类来执行case,就需要定义执行的主体

runcase实现

实现步骤:

1、获取要执行的用例
2、通过用例步骤里面的开关判断对应步骤是否要执行,如果要执行,则对该步骤的数据进行处理和组装
3、通过关键字执行对应的步骤
4、对失败用例进行及错误进行捕获

获取要执行的用例

使用pytest提供的pytest.mark.parametrize参数化方法,对需要进行操作的用例获取,
技术分享图片
由于涉及用例的新增和删除,所以尽量将代码和数据分离,就使用yaml文件来管理需要执行用例内容,然后提取yaml文件的内容,实现参数的入参
技术分享图片
通过yaml的格式可以直接了当的知道哪些用例要被执行,哪些不需要执行,不需要后面更改代码的东西
在runcase类中通过入参的用例名称获取对应的信息
技术分享图片

判断用例的开关

通过判断开关,然后对数据进行处理组装,达到可以进行执行的数据
技术分享图片

关键字执行主体

获取到要执行的用例之后,就可以通过用例中的关键字进行用例的步骤执行。通过循环来实现对操作步骤的遍历

目前基于业务中常用的操作,仅定义的4个操作步骤
分别为:发送请求,参数赋值,执行SQL,执行用例
技术分享图片

发送请求

1、关键字为【发送请求】时,需要将接口中对应的数据进行提取和处理,组成发送接口数据需要的格式,目前针对的是json格式的请求体
由于是excle中读取的数据,有可能会出现空行,换行符,还又变量等内容,需要在获取到接口数据之后进行处理 处理方法后续说】
技术分享图片
2、请求接口中需要对是否是文件传输进行判断。目前使用的是对请求接口的请求头判断是否是文件的传输。
技术分享图片
3、请求发送之后,默认储存【响应头,响应体,响应状态码】,方便后续的参数提取
技术分享图片

参数赋值

1、关键字为【参数赋值】时,针对是对变量的赋值,参照的方法类似于jmeter的方式,主要是针对于给变量定值
2、需要考虑多个变量的切片对应处理。
技术分享图片
技术分享图片

执行SQL

1、一般测试过程中都会涉及到数据库的查询,数据库查询之后的一般都是需要存储变量的,所以这里默认将对应的信息全部储存,然后通过类似于jmeter数据库查询结果的方式进行提取。
2、在查询过过程中数据库的连接可能会导致查询速度,然后需要考虑查询速度的容错机制,这里是重复查询等待,2秒的间隔,直到查询时间超过配置项设定的时间。
技术分享图片

执行用例

1、在测试过程中常会遇到执行用例有前置的情况,就是必须要执行某个独立的用例去取值才能进行本用例的参数入参,所以需要定义一个关键词为执行用例的,
2、在做流程自动化的时候,一个大的流程可能是由于多个小用例组成,在对流程的组装时,就可以使用执行用例这个关键字对小用例进行封装,提高用例的复用性和降低后续的维护成本
3、实现逻辑的话就直接复用前面的处理逻辑,只需要将方法在关键字的逻辑下进行执行就可以了
技术分享图片
技术分享图片

总结

以上的话就是执行主体的设计了,有些详细的东西,如字符的处理,sql结果的存储等,在后续慢慢来。
主要是思路,代码的东西不是很重要
毕竟是菜鸟,有很多不完美的地方,后续有接触到更好的会持续改进

4、执行主体实现

原文:https://www.cnblogs.com/ysynzy/p/14622635.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!