معرفی شرکت ها


easy-mock-2021.3.5rc4


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Generate mock service according to the YAML/JSON file in the current directory
ویژگی مقدار
سیستم عامل -
نام فایل easy-mock-2021.3.5rc4
نام easy-mock
نسخه کتابخانه 2021.3.5rc4
نگهدارنده []
ایمیل نگهدارنده []
نویسنده -
ایمیل نویسنده -
آدرس صفحه اصلی -
آدرس اینترنتی https://pypi.org/project/easy-mock/
مجوز -
# Easy Mock 针对个人和公司提供有偿UI自动化技术、接口自动化技术、接口mock技术等培训及测试工具定制开发 * **有意者请联系 QQ:40690263** ## 简单、易用的接口Mock工具 - 根据Yaml文件快速生成接口Mock服务 - 要求python版本 > 3.7 ## Yaml文件示例 ```yaml example.yml apis: # 最精简写法 - url: login # 接口路径 method: GET # 接口方法 defined_data_list: # request与response的匹配关系 [ { body: { "username": "edison", "password": "123" }, response: { "code": -1, "msg": "密码输入不正确" } } ] ``` ## v 1.0 主要功能 - 根据Yaml文件内容返回Mock数据,两种方式: - 一、根据request内容返回defined_data_list中与之匹配的response - 二、若defined_data_list未定义或无与request内容匹配的response,则根据response_schema返回随机数据: - 支持的随机数据类型: bool, int, float, double, string - 根据PB(.proto)生成Mock接口文件(yml) - 支持输入文件和目录 - 支持http/https - 支持对request和response做定制化处理(见自定义扩展) ## 安装 ```sh 两种安装方式: 一、pip安装(不需要源码) pip install easy-mock 二、源码安装(需安装setuptools) 下载源码并进入到setup.py所在目录 python setup.py install ``` ## 使用 ### 查看帮助 ```sh $ easy_mock -h usage: easy_mock [-h] [-v] [-p PORT] [-https] [-req] [-res] file_path Generate mock service according to the YAML file positional arguments: file_path yaml configuration file, directory or .proto file optional arguments: -h, --help show this help message and exit -v, --version show version -p mock service port -https enable mock server https protocol -req generate request_schema in yaml -res generate response_schema in yaml ``` ### 启动Mock Server 服务启动后可调用yml中定义的mock服务 ```sh easy_mock example.yml curl -H "Content-Type: application/json" -X POST 'http://127.0.0.1:9000/login' -d '{"username":"edison", "password": "123"}' | python -m json.tool ``` ## 自定义扩展 在当前目录下新建python文件 `processor.py` ```sh $ touch processor.py $ vim processor.py # 函数命名无限制,在yaml指定函数名即可 def xxx_setup(req): req["username"] = "abc" return req def xxx_teardown(req, resp): resp["age"] = 100 return resp ``` 在YAML文件中新增`setup` or `teardown`字段 ```yaml apis: login: name: 用户登录 desc: 用户登录成功,接口会返回一个token method: POST setup: xxxx_setup # 指定前置处理函数名,此函数接受一个参数, 对请求体做前置操作 teardown: xxx_teardown # 指定后置处理函数名,此函数接受两个参数, 对请求体和响应体做后置操作 ``` ### Yaml文件示例及详解(复杂写法) ```yaml - url: login # 接口路径 method: POST # 接口方法 request_schema: # (可选)用于对request body做合法性校验 { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, }, "required": [ "username", "password" ] } response_schema: # (可选) 根据schema生成response随机数据 response_schema 和 defined_data_list 二者不可全为空 { "type": "object", "properties": { "code": { "type": "integer", # 数据类型 "maximun": 100, # 数据范围 最大 "minimun": 1 # 数据范围 最小 }, "msg": { "type": "string" }, "token": { "type": "string" }, }, "required": [ # required中的字段,response中必须返回, token字段则随机返回 "code", "msg" ] } defined_data_list: # 自定义返回 如果请求体于list中的body匹配, 则返回对应的response response_schema 和 defined_data_list必须有一个匹配 [ { body: { "username": "edison", "password": "123" }, response: { "code": -1, "msg": "密码输入不正确" } }, { body: { "password": "123" }, response: { "code": -1, "msg": "用户名是必填的" } } ] ``` ## 将PB转换为Yaml **参数为.proto文件类型时生成yaml文件** ```sh easy_mock server.proto -res 输出server.yml ``` ## To Do - 支持Swagger定义的接口文件 - 支持Request,Response schema存放在单独的文件 - 支持延时返回(sleep关键字) ## 参考文档 - Json schema用法 http://json-schema.org/ - JSON Schema入门 https://www.jianshu.com/p/1711f2f24dcf?utm_campaign=hugo - python打包及支持pip安装 https://blog.csdn.net/sinat_33718563/article/details/88928950


نیازمندی

مقدار نام
- PyYAML
- jsonschema
- loguru
- flask


زبان مورد نیاز

مقدار نام
>=3 Python


نحوه نصب


نصب پکیج whl easy-mock-2021.3.5rc4:

    pip install easy-mock-2021.3.5rc4.whl


نصب پکیج tar.gz easy-mock-2021.3.5rc4:

    pip install easy-mock-2021.3.5rc4.tar.gz