AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。
github地址:https://github.com/small99/AutoLine
码云地址: https://gitee.com/lym51/AutoLine
入口模块
AutoLine/manage.py
manage.py源码结构
注
check_python_version() 检查本地python版本 check_version() 检查AutoLine版本 start_trigger() 启动调度服务 output_logo() 在控制台输出AutoLine字符logo app flask全局唯一content manager 全局的Manager对象 migrate 全局的migrate对象 make_shell_context() 定义命令 deploy() 用于AutoLine初始化发布命令 keyword() 用于生成robotframework关键字文件
主程序
下面的代码为manage.py的主入口程序,也是AutoLine启动时的主入口程序,即main函数
if __name__ == '__main__': # 检查本地AutoLine服务所在的python环境 check_python_version() # 检查AutoLine版本是否为最新的 check_version() # 判断是否为运行模式,是则启动调度服务 if "runserver" in sys.argv: start_trigger() # 输出字符串格式的logo output_logo() # 启动AutoLine服务 manager.run()
Python版本检测
def check_python_version(): # 3为主版本,4为次版本 if sys.version_info < (3, 4): print("请安装Python3.4及以上版本") exit(0)
AutoLine版本检查
def check_version(): # 读本地版本号 f = codecs.open('version.txt', 'r') version = f.readline() # 从gitee,即码云服务读取远程版本号 s = requests.Session() r_version = s.get("https://gitee.com/lym51/AutoLine/raw/master/version.txt").text # 比较版本, 提示版本比较结果 if version != r_version: print("*" * 25) print("本地版本:v%s" % version) print("github版本: v%s" % r_version) print("AutoLine开源平台代码已有更新,请到下面的地址更新代码:") print("下载最新代码,直接覆盖本地即可") print("https://github.com/small99/AutoLine") print("*" * 25) exit(0) f.close()
调度服务
def start_trigger(): # 调度对象 app.config["TRIGGER"] = Trigger(app) app.config["TRIGGER"].setup() # 加载任务列表 app.config["TRIGGER"].load_job_list() # 启动调度 app.config["TRIGGER"].start()
其他函数的源码这里就继续注释说明,请自行查阅源码即可。