python接口自动化(四十二)- 项目结构设计之大结局(超详解)

  这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块---模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子。并且有很多小伙伴对于接口项目测试的框架一筹莫展,吵吵着什么时候才可以看到一篇相对于比较完整的项目源码,但是由于完整的项目属于公司内部的代码,这个是说句大实话是没法分享的,这个想必大家都知道吧,不知道入职的时候都签过保密协议吧。所以由于种种原因没办法给小伙伴们分享公司内部的项目源码,就算别人分享了,也只适用于本公司内部的业务。你拿过来也不能用的,需要修修补补。所以用例的代码还是得自己去一个个写,这个宏哥只能分享项目框架,自己在框架里添加自己公司的业务测试用例,使她变的丰满充实,适合自己公司的业务。希望对小伙伴们有所指导或者是启发,好了时间不早了,废话少说,还是尽快进入今天的主题吧---接口项目测试结构(框架)设计。

一、项目结构

1、新建一个工程(一定要创建工程),工程名称自己定义,如:hongge_jiekou

2、在工程的跟目录新建一个脚本:run_main.py,用来执行全部用例

3、在工程下创建以下几个pakage包:

--case:这个包放test开头的测试用例,也可以放一些封装接口的方法,如:login(如果封装的接口比较多,也可以单独放一个包,可以命名为:framework,当然了可以随便但是要见名知义,不要奇葩、不要关键字等等)

--common:这个包放一些公共的方法,如:读取excel文件方法,读取mysql、oracle,logger.py这个是封装日志的输入

--config:cfg.ini这里是配置文件,如邮箱的一些参数:收件人,发件人,密码等,readConfig.py用于读取配置文件

--logs:这里存放日志信息

--report:这里存放测试报告

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

二、run_main 第一步:用discover方法加载所有的测试用例

1、cur_path这个参数是读取当前这个脚本的真实路径,也就是run_main.py的真实路径

2、caseName="case"这个case是存放测试用例的文件夹,如果没有的话,自动创建。如果想运行其它文件夹的用例,就改下caseName这个参数值

3、rule="test*.py"这个是匹配用例脚本名称的规则,默认匹配test开头的所有用例

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

第二步:生成HTML报告

1.把上一步加载到用例的参数传入这个函数,测试报告的文件名称默认report文件夹:reportName="report

2.如果没有这个report文件夹也没关系,可以自动创建的

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

第三步:获取最新的测试报告

1.如果第二步生成的测试报告加了时间戳,想找到最新的文件就用第三步

2.如果第二步不加时间戳,只是生成result.html,那这一步其实没卵用,可以忽略

(个人觉得报告用一个名称result.html就行,新的自动覆盖旧的)

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

第四步:发送测试报告到邮箱

1、像QQ邮箱这种ssl加密的就走SMTP_SSL,用授权码登录

2、其它邮箱就正常账号密码登录,走SMTP

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

3、最后执行代码

这里邮箱的内容读的配置文件

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

三、config配置

1、cfg.ini打开,这里写配置文件内容

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

2、用readConfig.py读取配置文件

python接口自动化(四十二)- 项目结构设计之大结局(超详解)

3、读取的内容就是传入第二步操作里面需要调用邮箱的配置信息

四、logger

1、logger.py这个文件放到common目录下,封装日志文件的读取

2、日志保存到logs文件夹

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypzsg.html