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" 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()

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

AutoLine源码分析之开始篇

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2018-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户画像

使用Maven管理Jar包

②点击Maven project,在右侧会出现下图的菜单栏,点击刷新,即可pom文件所有的jar包到本地仓库

942
来自专栏别先生

mysql输入密码后闪退怎么办?

第一: 首先需要想到的是mysql的服务可能没开,首先打开mysql的服务 ? 第二: 打开Mysql的命令行输入密码即可 ? 第三: 登录成功 ? 第四: 顺...

2319
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(二十) ——Redis命令在redis服务器执行过程

《Redis设计与实现》读书笔记(二十) ——Redis命令在redis服务器执行过程 (原创内容,转载请注明来源,谢谢) 序:redis服务器是redis一切...

3504
来自专栏后台及大数据开发

Linux巩固记录(6) Hbase环境准备-zookeeper安装

Hbase是运行在hadoop之上,所以请参考第3篇文章搭建好一个master,两个slave的hadoop环境,我采用的版本为hadoop2.7.4

994
来自专栏www.96php.cn

【fastadmin安全篇】设置全局 HtmlPurifier 安全过滤

首先下载HtmlPurifier 链接:https://github.com/ezyang/htmlpurifier

2483
来自专栏Linyb极客之路

linux常用基本命令之文件搜索命令

命令:find 语法:find [搜索范围路径] -name 【文件名称】(根据文件名查找) find [搜索范围路径] -size [...

3906
来自专栏圣杰的专栏

VSTS 执行git pull报错问题修复

因此我们在执行git pull之前添加一个Command Line指令去执行git config即可,具体配置如下:

542
来自专栏性能与架构

Redis3 添加新节点到集群

向集群中添加新节点,有两种情况: (1)添加一个新节点,做为master,需要移动一部分slot到此节点 (2)添加一个新节点,做为slave,设置为集群中某个...

3527
来自专栏Java成神之路

Struts框架搭建时所遇到的问题

        解决方案:将以下7个jar拷贝到项目工程中_(workspace_项目名_webRoot_WEB-INF_lib下),其他用到的包再慢慢添加: ...

775
来自专栏我的博客

zendframework中render,forward,redirect区别

1.render $this->render(‘my’);//注意没有.phtml 这样会在当前控制器下的my.phtml(也就是views/scripts...

3585

扫码关注云+社区