轻量级自动化框架。
minimo的Python项目详细描述
minimo是一个轻量级自动化框架。主要集中在 自动化测试/任务。项目名称来自 Wall-E作为以下人员:
使用minimo,您可以通过 mmo init命令。它将与 文件夹,如:
project-root-folder-with-project-name |- bin # minimo reserved command, don't touch it |- cases # suite and cases here |- ext # customized extensions, will be loaded before running commands |- lib # customized library, put all your common code here |- app.py |- performer.py |- templates # case template |- vendor # third-party libraries |- config.yml # project configuration |- README.md |- requirements.txt # dependencies here, can use ``pip install -r requirements.txt`` to install all dependencies
创建项目后,在项目根路径下可以使用minimo 通过mmo new创建套件/案例或通过运行套件/案例的命令 mmo run。
Minimo将根据下面的案例模板创建新案例 templates文件夹。您可以自定义模板。你也可以 如果创建templates文件夹,请为每个套件自定义模板 在suite根路径下。
目前minimo可以在两种类型中运行suite/case,它们是serial 和concorrence,它们的名字很容易理解。和 它们可以在config.yml中配置。输出可以配置 目前也支持text、html或xml。
提示:我们可以在v0.4.0之后使用mmo或minimo作为主命令, 但在旧版本中,它只有minimo。
用法
我们可以通过在控制台中键入命令或在 你自己的项目。
使用pip
安装和更新$ pip install -U minimo
创建项目实例
在cli模式下的用法
$ mmo init [project-name] [-t template-name-or-path] [-o output-path]
如果没有“输出路径”,则将在“输出路径”下创建项目 指定的,将是当前工作目录。如果未指定 模板,minimo将使用“task”模板初始化项目。 currenty模板名只支持'task',也可以指定路径 其中包含模板。
在API模式下的使用
importminimommo=minimo.Application(interface="api",root_path=instance_project_path)# return True or False for `init` resultresult=mmo.call("init",name="helloKitty",output="./myprojects")
创建新案例
在cli模式下的用法
$ mmo new [cases...] [-a author]
例如:
$ mmo new suite1/case1 suite2/case2 case3 [-a hellokitty]
如果模板 存在于任务套件中,它通过指定的套件初始化该情况。 模板,否则,按项目默认模板。
如果指定了作者姓名,则将在模板文件中填写,或 minimo将获取当前系统用户作为作者名。
在API模式下的使用
importminimommo=minimo.Application(interface="api",root_path="path/to/instance_project")# return successfully created cases listcases=mmo.call("new",cases=["case1","suite2/case1","suite2/case2"])
模板文件是用mako的语法编写的,请检查 mako。
列出所有标准案例
在cli模式下的用法
$ mmo ls [pattern...]
“pattern”支持unix shell样式的通配符,例如*或?。如果没有 指定的“模式”,它将在下面列出所有标准案例的名称 “案例”文件夹。如果指定了“pattern”,它将通过 “图案”。可以提供多种模式,例如:
$ mmo ls foo bar*
在API模式下的使用
importminimommo=minimo.Application(interface="api",root_path="path/to/instance_project")# return sorted valid casessorted_cases=mmo.call("ls")
运行套件
在cli模式下的用法
$ mmo run [case...]
可以指定一些用空白分隔的情况为:
$ mmo run case1 case2 case3
还可以将一些套件(一个文件夹下的案例组)指定为:
$ mmo run suite1 suite2 suite3
Minimo将负责这些套房下的所有箱子。
在API模式下的使用
importminimommo=minimo.Application(interface="api",root_path="path/to/instance_project")# return output file path or None if all failedsorted_cases=mmo.call("run",cases=["suite1","suite2/case1","suite2/case2"])
获取帮助
$ mmo --help $ mmo [command] --help
在API模式下似乎没有用处