pyzentao spec generator.
Project description
miaou 是 pyzentao 规格文件的生成工具。
宋朝的严羽在《沧浪诗话·诗辨》中说:”大抵禅道惟在妙悟,诗道亦在妙悟”,于是取名 “妙悟 (miaou)”。
用法
安装
$ pip install -U miaou
使用
使用 miaou 方法生成规格文件
import miaou
miaou.generate(
site_url="http://my.zentao.site",
username="admin",
password="123456",
scanner="selenium",
combined_print=True,
output_path="."
)
参数说明
- site_url
你家禅道的域名,比如 “http://zentao.flyingcat.com”
- username
登录用户名,用于禅道授权
- password
登录密码,用于禅道授权
- scanner
扫描器类型,目前自带扫描器支持 “selenium”,也可以自定义扫描器,详见下文
- combined_print
合并打印规格,默认是 True ,会将规格打印到一个 yaml 文件,否则按 module 打印到不同文件
- output_path
输出的目录,默认是当前目录
- config
传给 scanner 的配置参数,应为 dict 类型
扫描器
扫描禅道页面以获得规格,目前支持 selenium ,也可以自定义扫描器。
selenium
使用 selenium 4.8.0 版本以上,默认使用 chromedriver,可根据你的 Chrome 版本,在 chromedriver 下载,并 添加到 path 中。如果要使用 firefox 可在参数中指定,例如
import miaou
miaou.generate(
...
scanner="selenium",
config={"driver": "firefox"},
)
自定义扫描器
也可以自定义扫描器,从 miaou.Scanner 继承
import miaou
class MyScanner(miaou.Scanner):
"""doc string"""
def __init__(self, config):
...
然后需要实现如下方法:
- open(self, site_url, username, password)
一般是获得禅道授权
- close(self)
清扫工作,没有就不写
- get_module_groups(self, dev_url)
获得 API 模块页面链接,也就是 后台 - 二次开发 - API 页面左边栏 模块列表 下的那些链接。返回模块链接数组 [url…]
- get_apis(self, api_url)
在指定的模块页面,即 api_url 中获取 API 规格,返回包含dict的数组类似 [{name, method, path, params}]
使用自定义扫描器
import miaou
miaou.generate(
...
scanner=MyScanner(config),
...
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.