首页 > 产品中心 > 猫粮
python+requests接口自动化完整项目设计源码【亚博app英超买球的首选】

本文摘要:前言有许多小同伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务。

亚博APP买球首选

亚博app英超买球的首选

前言有许多小同伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务。所以用例的代码还是得自己去一个个写,我只能分享项目框架,只能帮你们到这了。一、项目结构1.新建一个工程(一定要建立工程),工程名称自己界说2.在工程的跟目录新建一个剧本:run_main.py,用来执行全部用例3.在工程下建立以下几个pakage包:--case:这个包放test开头的测试用例,也可以放一些封装接口的方法,如:loginblog(如果封装的接口比力多,也可以单独放一个包)--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是存放测试用例的文件夹,如果没有的话,自动建立。

亚博app英超买球的首选

如果想运行其它文件夹的用例,就改下caseName这个参数值3.rule="test*.py"这个是匹配用例剧本名称的规则,默认匹配test开头的所有用例 第二步:生成HTML陈诉1.把上一步加载到用例的参数传入这个函数,测试陈诉的文件名称默认report文件夹:reportName="report2.如果没有这个report文件夹也没关系,可以自动建立的第三步:获取最新的测试陈诉1.如果第二步生成的测试陈诉加了时间戳,想找到最新的文件就用第三步2.如果第二步不加时间戳,只是生成result.html,那这一步其实没卵用,可以忽略(小我私家以为陈诉用一个名称result.html就行,新的自动笼罩旧的)第四步:发送测试陈诉到邮箱1.像QQ邮箱这种ssl加密的就走SMTP_SSL,用授权码登录2.其它邮箱就正常账号密码登录,走SMTP最后执行代码1.这里邮箱的内容读的设置文件 三、config设置1.cfg.ini打开,这里写设置文件内容2.用readConfig.py读取设置文件3.读取的内容就是传入第二步操作内里需要挪用邮箱的设置信息 四、logger1.logger.py这个文件放到common目录下,封装日志文件的读取2.日志生存到logs文件夹3.封装代码# coding:utf-8import logging, timeimport os# log_path是存放日志的路径cur_path = os.path.dirname(os.path.realpath(__file__))log_path = os.path.join(os.path.dirname(cur_path), 'logs')# 如果不存在这个logs文件夹,就自动建立一个if not os.path.exists(log_path):os.mkdir(log_path)class Log(): def __init__(self): # 文件的命名 self.logname = os.path.join(log_path, '%s.log'%time.strftime('%Y_%m_%d')) self.logger = logging.getLogger() self.logger.setLevel(logging.DEBUG) # 日志输特别式 self.formatter = logging.Formatter('[%(asctime)s] - %(filename)s] - %(levelname)s: %(message)s') def __console(self, level, message): # 建立一个FileHandler,用于写到当地 fh = logging.FileHandler(self.logname, 'a') # 追加模式 这个是python2的 # fh = logging.FileHandler(self.logname, 'a', encoding='utf-8') # 这个是python3的 fh.setLevel(logging.DEBUG) fh.setFormatter(self.formatter) self.logger.addHandler(fh) # 建立一个StreamHandler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(self.formatter) self.logger.addHandler(ch) if level == 'info': self.logger.info(message) elif level == 'debug': self.logger.debug(message) elif level == 'warning': self.logger.warning(message) elif level == 'error': self.logger.error(message) # 这两行代码是为了制止日志输出重复问题 self.logger.removeHandler(ch) self.logger.removeHandler(fh) # 关闭打开的文件 fh.close() def debug(self, message): self.__console('debug', message) def info(self, message): self.__console('info', message) def warning(self, message): self.__console('warning', message) def error(self, message): self.__console('error', message)if __name__ == "__main__": log = Log() log.info("---测试开始----") log.info("操作步骤1,2,3") log.warning("----测试竣事----") 五、case放用例1.常用的接口,需要检查被挪用的单独封装处置惩罚,如登录等2.test开头的用例 六、logs日志检察1.运行完后日志都市收集到logs文件夹以日期命名 七、生成测试陈诉1.这里挪用的是HTMLTestRunner生成html的测试陈诉八、发送陈诉到邮箱1.运行run_main.py就会自动生成陈诉,然后发送到邮箱了(这里QQ邮箱的展示是有问题的,一般用企业邮箱的话,是可以正常展示的)。

亚博app英超买球的首选


本文关键词:亚博app英超买球的首选,亚博APP买球首选

本文来源:亚博app英超买球的首选-www.di-miciry.com

  • 首页| 关于我们| 新闻中心| 产品中心| 业绩展示| 联系我们|
  • Add:山东省德州市禹城市近过大楼58号

    Tel:0542-679106297

    鲁ICP备92358466号-6 | Copyright © 亚博APP买球-亚博APP买球首选 All Rights Reserved