1.框架目录(结构) 1.1.common(公共模块) 包括一些全局配置,读取系统/文件路径,日志,发送邮件,连接数据库等脚本 日志模块:
import logging
import logging.handlers
import os.path
import time
class Logger(object):
def __init__(self, logger):
# 创建一个日志器logger,并设置其日志级别为DEBUG
self.logger = logging.getLogger(logger)
self.logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
# log_path = os.path.abspath(os.path.dirname(__file__) + '/logs') # 获取当前目录
log_path = os.path.abspath(os.path.dirname(os.getcwd() + '/')) # 获取当前目录的上一级
log_name = os.path.abspath(log_path + '/logs/' + rq + '.log')
# 创建一个文件处理器handler并设置其日志级别为INFO
fh = logging.handlers.RotatingFileHandler(log_name, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8') # 实例化handler
fh.setLevel(logging.INFO)
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 给日志处理器logger添加上面创建的handler
self.logger.addHandler(fh)
self.logger.addHandler(ch)
def getlog(self):
return self.logger
1.2.datas(存放各种数据文件) 包括一些测试用例需要的数据文件,如excel,csv,yaml文件 1.3.logs(存放生成的日志) 存放生成的日志文件 1.4.report(存放生产的allure报告) 存放生成的allure报告文件 1.5.testcase(存放一些测试用例) 可以包括UI自动化的脚本和接口自动化的脚本 1.6.tool(存放驱动) 包括windows和mac系统的驱动 1.7.util(工具类脚本) 包括提取excel和yaml文件内容的脚本 1.8…gitignore git提交时过滤目录和文件 1.9.pytest.ini pytest配置文件 1.10.requirements.txt 方便项目移植 1.11.start.py/run.py 项目启动脚本 运行时会读取pytest配置文件的配置信息
2.项目上传git/gitlab 2.1创建一个git/gitlab账号,个人或公司都可以,登录后创建代码仓库 2.2本地安装git,版本号尽量不要太旧,安装完成后将刚刚创建的空代码仓库下载下来,然后慢慢填充步骤1的目录结构,如果已准备好,复制过去即可 2.3git常用的提交和同步
3.配置Jenkins 1.分为两种,window版本和linux版本 windows版本,下载Jenkins程序,安装,访问jenkins地址。下载需要的插件,配置填充信息,构建项目 linux版本,下载vmware,安装dockers,安装jenkins,配置服务
4.配置jenkins机器人以及构建后发送邮件 1.准备微信机器人或者钉钉机器人
|