这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块---模块(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:这里存放测试报告
二、run_main 第一步:用discover方法加载所有的测试用例1、cur_path这个参数是读取当前这个脚本的真实路径,也就是run_main.py的真实路径
2、caseName="case"这个case是存放测试用例的文件夹,如果没有的话,自动创建。如果想运行其它文件夹的用例,就改下caseName这个参数值
3、rule="test*.py"这个是匹配用例脚本名称的规则,默认匹配test开头的所有用例
第二步:生成HTML报告1.把上一步加载到用例的参数传入这个函数,测试报告的文件名称默认report文件夹:reportName="report
2.如果没有这个report文件夹也没关系,可以自动创建的
第三步:获取最新的测试报告1.如果第二步生成的测试报告加了时间戳,想找到最新的文件就用第三步
2.如果第二步不加时间戳,只是生成result.html,那这一步其实没卵用,可以忽略
(个人觉得报告用一个名称result.html就行,新的自动覆盖旧的)
第四步:发送测试报告到邮箱1、像QQ邮箱这种ssl加密的就走SMTP_SSL,用授权码登录
2、其它邮箱就正常账号密码登录,走SMTP
3、最后执行代码
这里邮箱的内容读的配置文件
三、config配置1、cfg.ini打开,这里写配置文件内容
2、用readConfig.py读取配置文件
3、读取的内容就是传入第二步操作里面需要调用邮箱的配置信息
四、logger1、logger.py这个文件放到common目录下,封装日志文件的读取
2、日志保存到logs文件夹