apimeter


Nameapimeter JSON
Version 2.6.2 PyPI version JSON
download
home_pagehttps://github.com/httprunner/httprunner
SummaryOne-stop solution for HTTP(S) testing.
upload_time2023-08-02 08:38:07
maintainer
docs_urlNone
authordebugtalk
requires_python>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
licenseApache-2.0
keywords http api test requests locustio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# ApiMeter

*ApiMeter* is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! ✨ 🚀 ✨

## Design Philosophy

- Embrace open source, stand on giants' shoulders, like [`Requests`][Requests], [`unittest`][unittest] and [`Locust`][Locust].
- Convention over configuration.
- Pursuit of high rewards, write once and achieve a variety of testing needs

## Key Features

- Inherit all powerful features of [`Requests`][Requests], just have fun to handle HTTP(S) in human way.
- Define testcases in YAML or JSON format in concise and elegant manner.
- Record and generate testcases with [`HAR`][HAR] support. see [`har2case`][har2case].
- Supports `variables`/`extract`/`validate` mechanisms to create full test scenarios.
- Supports perfect hook mechanism.
- With `debugtalk.py` plugin, very easy to implement complex logic in testcase.
- Testcases can be run in diverse ways, with single testcase, multiple testcases, or entire project folder.
- Test report is concise and clear, with detailed log records.
- With reuse of [`Locust`][Locust], you can run performance test without extra work.
- CLI command supported, perfect combination with `CI/CD`.

## Documentation

ApiMeter is rich documented.

- [`中文用户使用手册`][user-docs-zh]
- [`开发历程记录博客`][development-blogs]
- [CHANGELOG](docs/CHANGELOG.md)

## Usage
```python
pip install apimeter  # 安装
apimeter /path/to/api  # 完整生成报告
apimeter /path/to/api --skip-success  # 报告忽略成功用例数
```
注意事项
- 1、安装后可用命令apimeter、hrun、apilocust;
- 2、安装时不需要卸载HttpRunner,如果存在httprunner,会覆盖其hrun命令,另外的httprunner、ate命令依然可用;
- 3、之所以不写字HttpRunner,因为部分项目在debugtalk.py中导入了HttpRunner包并使用其已封装好的函数;


## Development
```python
poetry install  # 拉取代码后安装依赖
poetry run python -m apimeter /path/to/api  # 完整生成报告
poetry run python -m apimeter /path/to/api --skip-success  # 报告忽略成功用例数据
poetry build  # 打包
poetry publish  # 发布,根据提示输入pypi账号密码
pip install -i https://pypi.Python.org/simple/ apimeter  # 指定安装源,因为刚发布其他平台未及时同步
```


[Requests]: http://docs.python-requests.org/en/master/
[unittest]: https://docs.python.org/3/library/unittest.html
[Locust]: http://locust.io/
[har2case]: https://github.com/httprunner/har2case
[user-docs-zh]: http://docs.httprunner.org/
[development-blogs]: http://debugtalk.com/tags/httprunner/
[HAR]: http://httparchive.org/
[Swagger]: https://swagger.io/


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/httprunner/httprunner",
    "name": "apimeter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
    "maintainer_email": "",
    "keywords": "HTTP,api,test,requests,locustio",
    "author": "debugtalk",
    "author_email": "debugtalk@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b7/5a/035e04a9270d7207094860902dc3bfea0b36c9b2aaa576138ec8b24fd083/apimeter-2.6.2.tar.gz",
    "platform": null,
    "description": "\n# ApiMeter\n\n*ApiMeter* is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! \u2728 \ud83d\ude80 \u2728\n\n## Design Philosophy\n\n- Embrace open source, stand on giants' shoulders, like [`Requests`][Requests], [`unittest`][unittest] and [`Locust`][Locust].\n- Convention over configuration.\n- Pursuit of high rewards, write once and achieve a variety of testing needs\n\n## Key Features\n\n- Inherit all powerful features of [`Requests`][Requests], just have fun to handle HTTP(S) in human way.\n- Define testcases in YAML or JSON format in concise and elegant manner.\n- Record and generate testcases with [`HAR`][HAR] support. see [`har2case`][har2case].\n- Supports `variables`/`extract`/`validate` mechanisms to create full test scenarios.\n- Supports perfect hook mechanism.\n- With `debugtalk.py` plugin, very easy to implement complex logic in testcase.\n- Testcases can be run in diverse ways, with single testcase, multiple testcases, or entire project folder.\n- Test report is concise and clear, with detailed log records.\n- With reuse of [`Locust`][Locust], you can run performance test without extra work.\n- CLI command supported, perfect combination with `CI/CD`.\n\n## Documentation\n\nApiMeter is rich documented.\n\n- [`\u4e2d\u6587\u7528\u6237\u4f7f\u7528\u624b\u518c`][user-docs-zh]\n- [`\u5f00\u53d1\u5386\u7a0b\u8bb0\u5f55\u535a\u5ba2`][development-blogs]\n- [CHANGELOG](docs/CHANGELOG.md)\n\n## Usage\n```python\npip install apimeter  # \u5b89\u88c5\napimeter /path/to/api  # \u5b8c\u6574\u751f\u6210\u62a5\u544a\napimeter /path/to/api --skip-success  # \u62a5\u544a\u5ffd\u7565\u6210\u529f\u7528\u4f8b\u6570\n```\n\u6ce8\u610f\u4e8b\u9879\n- 1\u3001\u5b89\u88c5\u540e\u53ef\u7528\u547d\u4ee4apimeter\u3001hrun\u3001apilocust\uff1b\n- 2\u3001\u5b89\u88c5\u65f6\u4e0d\u9700\u8981\u5378\u8f7dHttpRunner\uff0c\u5982\u679c\u5b58\u5728httprunner\uff0c\u4f1a\u8986\u76d6\u5176hrun\u547d\u4ee4\uff0c\u53e6\u5916\u7684httprunner\u3001ate\u547d\u4ee4\u4f9d\u7136\u53ef\u7528\uff1b\n- 3\u3001\u4e4b\u6240\u4ee5\u4e0d\u5199\u5b57HttpRunner\uff0c\u56e0\u4e3a\u90e8\u5206\u9879\u76ee\u5728debugtalk.py\u4e2d\u5bfc\u5165\u4e86HttpRunner\u5305\u5e76\u4f7f\u7528\u5176\u5df2\u5c01\u88c5\u597d\u7684\u51fd\u6570\uff1b\n\n\n## Development\n```python\npoetry install  # \u62c9\u53d6\u4ee3\u7801\u540e\u5b89\u88c5\u4f9d\u8d56\npoetry run python -m apimeter /path/to/api  # \u5b8c\u6574\u751f\u6210\u62a5\u544a\npoetry run python -m apimeter /path/to/api --skip-success  # \u62a5\u544a\u5ffd\u7565\u6210\u529f\u7528\u4f8b\u6570\u636e\npoetry build  # \u6253\u5305\npoetry publish  # \u53d1\u5e03\uff0c\u6839\u636e\u63d0\u793a\u8f93\u5165pypi\u8d26\u53f7\u5bc6\u7801\npip install -i https://pypi.Python.org/simple/ apimeter  # \u6307\u5b9a\u5b89\u88c5\u6e90\uff0c\u56e0\u4e3a\u521a\u53d1\u5e03\u5176\u4ed6\u5e73\u53f0\u672a\u53ca\u65f6\u540c\u6b65\n```\n\n\n[Requests]: http://docs.python-requests.org/en/master/\n[unittest]: https://docs.python.org/3/library/unittest.html\n[Locust]: http://locust.io/\n[har2case]: https://github.com/httprunner/har2case\n[user-docs-zh]: http://docs.httprunner.org/\n[development-blogs]: http://debugtalk.com/tags/httprunner/\n[HAR]: http://httparchive.org/\n[Swagger]: https://swagger.io/\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "One-stop solution for HTTP(S) testing.",
    "version": "2.6.2",
    "project_urls": {
        "Documentation": "https://docs.httprunner.org",
        "Homepage": "https://github.com/httprunner/httprunner",
        "Repository": "https://github.com/httprunner/httprunner"
    },
    "split_keywords": [
        "http",
        "api",
        "test",
        "requests",
        "locustio"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf4438f5653765d8007b3af5a776796b70b556841404e610257d64a025919a27",
                "md5": "48e6a86f54792b12b7d95aa7faf65461",
                "sha256": "58c9a1f68b6d04be8a7d3207fea2a0737f7f32efcae155bf96bc2192273234f1"
            },
            "downloads": -1,
            "filename": "apimeter-2.6.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "48e6a86f54792b12b7d95aa7faf65461",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
            "size": 79446,
            "upload_time": "2023-08-02T08:38:05",
            "upload_time_iso_8601": "2023-08-02T08:38:05.729418Z",
            "url": "https://files.pythonhosted.org/packages/cf/44/38f5653765d8007b3af5a776796b70b556841404e610257d64a025919a27/apimeter-2.6.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b75a035e04a9270d7207094860902dc3bfea0b36c9b2aaa576138ec8b24fd083",
                "md5": "d86fcf1678065f254ab41ff90c035835",
                "sha256": "79d6f58f52769a43db624d83751c241820d407a65c259afeb32db7e2c2384f9f"
            },
            "downloads": -1,
            "filename": "apimeter-2.6.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d86fcf1678065f254ab41ff90c035835",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
            "size": 66921,
            "upload_time": "2023-08-02T08:38:07",
            "upload_time_iso_8601": "2023-08-02T08:38:07.717708Z",
            "url": "https://files.pythonhosted.org/packages/b7/5a/035e04a9270d7207094860902dc3bfea0b36c9b2aaa576138ec8b24fd083/apimeter-2.6.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-02 08:38:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "httprunner",
    "github_project": "httprunner",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "apimeter"
}
        
Elapsed time: 0.15568s