AutoLine源码分析之入口源码

什么是AutoLine开源平台

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"insys.argv:

start_trigger()

# 输出字符串格式的logo

output_logo()

# 启动AutoLine服务

manager.run()

Python版本检测

defcheck_python_version():

# 3为主版本,4为次版本

ifsys.version_info

print("请安装Python3.4及以上版本")

exit()

AutoLine版本检查

defcheck_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

# 比较版本, 提示版本比较结果

ifversion != 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()

f.close()

调度服务

defstart_trigger():

# 调度对象

app.config["TRIGGER"] = Trigger(app)

app.config["TRIGGER"].setup()

# 加载任务列表

app.config["TRIGGER"].load_job_list()

# 启动调度

app.config["TRIGGER"].start()

其他函数的源码这里就继续注释说明,请自行查阅源码即可。

动动手指往下点点点点***,你懂的

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180713A08B5700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券