{ "info": { "author": "HBQA", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": "# Lyrebird Plugin API-Coverage\n\n[![Build Status](https://travis-ci.org/meituan/lyrebird-api-coverage.svg?branch=master)](https://travis-ci.org/meituan/lyrebird-api-coverage)\n\n## \u7b80\u4ecb\n* API-Coverage\u662f\u57fa\u4e8e[Lyrebird](https://github.com/meituan/lyrebird)\u7684\u63d2\u4ef6\uff0c\u4e3a\u5ba2\u6237\u7aef\u63d0\u4f9bAPI\u7ef4\u5ea6\u6d4b\u8bd5\u8986\u76d6\u8bc4\u4f30\u65b9\u6cd5\u3002 \n* \u5ba2\u6237\u7aef\u7684\u64cd\u4f5c\u53ef\u4ee5\u5b9e\u65f6\u53cd\u5e94\u5728\u524d\u7aef\u9875\u9762\u4e0a\uff0c\u4e3b\u8981\u6709API\u8986\u76d6\u7387\u7edf\u8ba1\u3001\u4e0d\u540c\u4f18\u5148\u7ea7\u7684\u8986\u76d6\u7387\u5c55\u793a\u7b49\u3002\u53ef\u4ee5\u53c2\u8003\u8be5\u6570\u636e\uff0c\u5224\u65ad\u6d4b\u8bd5\u662f\u5426\u5df2\u8986\u76d6\u76ee\u6807\u529f\u80fd\u3002\n* API\u8986\u76d6\u7387\u7684\u8ba1\u7b97\u516c\u5f0f\uff1a\u8986\u76d6\u7387 = \u5df2\u8bbf\u95eeAPI/\u57fa\u51c6API\n * \u5df2\u8bbf\u95eeAPI\uff1a\u88ab\u6d4b\u5e94\u7528\u5df2\u53d1\u51fa\u7684\u8bf7\u6c42\uff08\u53ea\u8bb0\u5f55\u5f53\u524d\u4e1a\u52a1\u5185API\uff09\n * \u57fa\u51c6API\uff1a\u5f53\u524d\u4e1a\u52a1\u6240\u6709API\n\n\n\n\n## \u73af\u5883\u8981\u6c42\n\n* macOS\n\n* Python3.6\u53ca\u4ee5\u4e0a\n\n\n## \u5b89\u88c5\n\n``` bash\npip3 install lyrebird-api-coverage\n```\n\n\n## \u542f\u52a8\n```bash\nlyrebird\n```\n\n## \u754c\u9762\u8bf4\u660e\n\n\n\n\u5982\u56fe\u6240\u793a\uff0c\u4e0d\u540c\u533a\u57df\u7684\u4ecb\u7ecd\uff1a\n\n1. \u5de5\u5177\u680f\n 1. Import Base - \u5bfc\u5165\u9700\u8981\u7edf\u8ba1\u7684\u57fa\u51c6API\u5217\u8868\uff08\u6587\u4ef6\u683c\u5f0f\u89c1\u9644\u5f55[Base\u6570\u636e\u683c\u5f0f](#Base\u6570\u636e\u683c\u5f0f)\uff09\n 2. Resume Test - \u5bfc\u5165\u7edf\u8ba1\u7ed3\u679c\u5e76\u7ee7\u7eed\u7edf\u8ba1\n 3. Save Result - \u5bfc\u51fa\u7edf\u8ba1\u7ed3\u679c\u5230\u201c~/.lyrebird/plugin/lyrebird_api_coverage/data/\u201d\n 4. Clear Test - \u6e05\u7a7a\u5f53\u524d\u7684\u7edf\u8ba1\u7ed3\u679c\n 5. Filtering Rules - \u8fc7\u6ee4\u89c4\u5219\u8bbe\u7f6e\uff08\u914d\u7f6e\u683c\u5f0f\u89c1\u9644\u5f55[\u8fc7\u6ee4\u914d\u7f6e\u6570\u636e\u683c\u5f0f](#\u8fc7\u6ee4\u914d\u7f6e\u6570\u636e\u683c\u5f0f)\uff09\n \n2. \u8986\u76d6\u7387\u4fe1\u606f\n\n 1. \u5c55\u793a\u8986\u76d6\u7387\u4fe1\u606f\uff0c\u603b\u4f53\u8986\u76d6\u7387\u4fe1\u606f\uff0c\u5206\u4f18\u5148\u7ea7\u8986\u76d6\u7387\u4fe1\u606f\n\n3. \u57fa\u51c6API\u4fe1\u606f\n 1. \u5c55\u793a\u5f53\u524d\u751f\u6548\u7684\u57fa\u51c6API\u4fe1\u606f\n\n4. \u8986\u76d6\u7387\u8be6\u60c5\u6a21\u5757\n\n 1. Priority\uff1aAPI\u7684\u4f18\u5148\u7ea7\n 2. API: URL\u4fe1\u606f\n 3. Description\uff1aAPI\u7684\u63cf\u8ff0\u4fe1\u606f\n 4. Count\uff1aAPI\u7684\u8bf7\u6c42\u6b21\u6570\n 5. Status\uff1aAPI\u7684\u72b6\u6001\uff0c\u5305\u62ec \u5df2\u6d4b\u8bd5\uff0c\u672a\u6d4b\u8bd5\uff0c\u4e0d\u5728base\u4e2d\u7684API\n 6. Detail\uff1a\u67e5\u770b\u8bf7\u6c42\u8be6\u60c5\uff0c\u70b9\u51fb\u8868\u683c\u6700\u540e\u4e00\u5217\u7684\u8be6\u60c5\u4e2d\u7684Detail\uff0c\u5c31\u53ef\u4ee5\u5c55\u793a\u6700\u8fd1\u4e00\u6b21\u7684\u8bf7\u6c42\u7684\u8be6\u60c5\n\n## \u4f7f\u7528\u6d41\u7a0b\n\n1. \u51c6\u5907Base\u6570\u636e\uff0cBase\u6570\u636e\u683c\u5f0f[\u89c1\u9644\u5f55](#Base\u6570\u636e\u683c\u5f0f)\n2. \u70b9\u51fb\u5de5\u5177\u680f\u4e2d\u7684\u201cImport Base\u201d\u6309\u94ae\u8fdb\u884c\u5bfc\u5165Base\u6587\u4ef6\n3. \u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u89c2\u6d4b\u9875\u9762\u7684\u8986\u76d6\u7387\u7b49\u4fe1\u606f\u5c55\u793a\n\n\n## \u5f00\u53d1\u8005\u6307\u5357\n\n```bash\n# clone \u4ee3\u7801\ngit clone https://github.com/meituan/lyrebird-api-coverage.git\n\n# \u8fdb\u5165\u5de5\u7a0b\u76ee\u5f55\ncd lyrebird-api-coverage\n\n# \u521b\u5efa\u865a\u62df\u73af\u5883\npython3 -m venv venv\n\n# \u5b89\u88c5\u4f9d\u8d56\nsource venv/bin/activate\npip3 install -r requirements.txt\n\n# \u4f7f\u7528IDE\u6253\u5f00\u5de5\u7a0b\uff08\u63a8\u8350Pycharm\u6216vscode\uff09\n\n# \u5728IDE\u4e2d\u6267\u884cdebug.py\u5373\u53ef\u5f00\u59cb\u8c03\u8bd5\n```\n\n\n## \u9644\u5f55\n### Base\u6570\u636e\u683c\u5f0f\n\n```json\n{\n \"business\": \"app_channel\",\n \"version_code\": 1,\n \"version_name\": \"1.0\",\n \"api_list\": [\n {\n \"desc\": \"A\u63a5\u53e3\",\n \"priority\": 3,\n \"url\": \"meituan.com/test/a\"\n },\n {\n \"desc\": \"B\u63a5\u53e3\",\n \"priority\": 2,\n \"url\": \"meituan.com/test/b?paramKey=val\"\n },\n {\n \"desc\": \"C\u63a5\u53e3\",\n \"priority\": 2,\n \"url\": \"meituan.com/test/c/{num}\"\n },\n {\n \"desc\": \"D\u63a5\u53e3\",\n \"priority\": 1,\n \"url\": \"meituan.com/test/d?sourceType=1\"\n }\n ]\n}\n```\n- \u652f\u6301\u4e24\u79cdAPI\uff0cPath \u548c Path + query\uff0c\u5373\u4e0d\u5e26\u53c2\u6570\u7684\u914d\u7f6e\u548c\u5e26\u53c2\u6570\u7684\u914d\u7f6e\n- \u5728\u914d\u7f6eAPI\u65f6\uff0c\u5982\u679cpath\u4e2d\u5e26\u6709\u53c2\u6570\uff0c\u5982 a.b.com/v1/test/{num}\uff0c\u9700\u8981\u7528'{}'\u62ec\u8d77\uff0c\u5728\u8986\u76d6\u7387\u8ba1\u7b97\u4e2d\u7528\u6765\u5224\u65ad\u662f\u540c\u4e00API\n- \u914d\u7f6e\u53c2\u6570\u7684\u60c5\u51b5\u4e0b\uff0c\u5b57\u6bb5\u540d\u7684\u5927\u5c0f\u5199\u654f\u611f\n\n### \u8fc7\u6ee4\u914d\u7f6e\u6570\u636e\u683c\u5f0f\n- demo\n\n```json\n{\n \"exclude\": {\n \"host\": [\n \"a.meituan.com\",\n \"b.baidu.com\"\n ],\n \"regular\": [\n \".webp\",\n \".gif\",\n \".jpg\",\n \".png\"\n ]\n }\n}\n```\n- \u652f\u6301\u4e24\u79cd\u7b5b\u9664\u89c4\u5219\uff0c\u4ee5host\u4e3a\u7ef4\u5ea6\uff0c\u4ee5\u5305\u542b\u5b57\u7b26\u4e32\u4e3a\u7ef4\u5ea6\n - \u5982\u679c\u4e0d\u60f3\u5173\u6ce8\u67d0\u4e9bhost\u4e0b\u7684\u8bf7\u6c42\uff0c\u53ef\u4ee5\u6309\u7167\u4e0a\u8ff0\u7b5b\u9009\u914d\u7f6e\u6587\u4ef6\u7684\u6570\u636e\u683c\u5f0f\u914d\u7f6e host\u5b57\u6bb5\u4e0b\u7684\u89c4\u5219\n - \u5982\u679c\u4e0d\u60f3\u5173\u6ce8\u67d0\u4e9b\u5305\u542b\u6307\u5b9a\u5b57\u7b26\u4e32\u7684\u8bf7\u6c42\uff08\u5982\uff1a.webp\uff09\uff0c\u53ef\u4ee5\u6309\u7167\u4e0a\u8ff0\u7b5b\u9009\u914d\u7f6e\u6587\u4ef6\u7684\u6570\u636e\u683c\u5f0f\u914d\u7f6e regular\u5b57\u6bb5\u4e0b\u7684\u89c4\u5219\n \n- \u5b57\u6bb5\u8bf4\u660e\n - exclude:\u4e0d\u5173\u6ce8\u7684\u914d\u7f6e\u9879\n - host:\u4e0d\u5173\u6ce8\u7684host\n - regular:\u4e0d\u5173\u6ce8\u7684\u5b57\u7b26\u4e32\uff08URL\u53ea\u8981\u5305\u542b\u6307\u5b9a\u7684\u5b57\u7b26\u4e32\u90fd\u4f1a\u7b5b\u9009\u6389\uff09", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/meituan/lyrebird-api-coverage", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "lyrebird-api-coverage", "package_url": "https://pypi.org/project/lyrebird-api-coverage/", "platform": "", "project_url": "https://pypi.org/project/lyrebird-api-coverage/", "project_urls": { "Homepage": "https://github.com/meituan/lyrebird-api-coverage" }, "release_url": "https://pypi.org/project/lyrebird-api-coverage/0.2.8/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.2.8" }, "last_serial": 4625167, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "91bf2fe91b8e9111d19eddd685f2c9c2", "sha256": "656dda94dd73de3df591a1f6751722f5ee3b391015e6d9bba34c6860a2bcebf4" }, "downloads": -1, "filename": "lyrebird_api_coverage-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "91bf2fe91b8e9111d19eddd685f2c9c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29356, "upload_time": "2018-07-12T13:58:03", "url": "https://files.pythonhosted.org/packages/93/22/320b5d82b8b0438c8cf7a90b3c4b739cd07e97224d6252ac84b5367ee904/lyrebird_api_coverage-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4cdf9e13c12c9c967c88858313a70039", "sha256": "69c5a92b5e138aaf745d3f9d8cdca7c94c6680719afd5c0c10ba4329acfdb352" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4cdf9e13c12c9c967c88858313a70039", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21727, "upload_time": "2018-07-12T13:58:05", "url": "https://files.pythonhosted.org/packages/01/43/3a7d539c4c326d929f605bf2899fbabd08a948a753af37cb78410dd4b398/lyrebird-api-coverage-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "35cdb83a931fa13c91704cde21d2caee", "sha256": "09cb3eea1b3a64c4419ca1ae60f8e2f4f2fe117867eaf799a7ea72d0d57febc7" }, "downloads": -1, "filename": "lyrebird_api_coverage-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "35cdb83a931fa13c91704cde21d2caee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29364, "upload_time": "2018-07-13T12:53:34", "url": "https://files.pythonhosted.org/packages/16/37/132bf2f183f20fd847f873cff4734dad4f26e841d1a353abb07dc15032b1/lyrebird_api_coverage-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a6a651f181c4f4277dcbc6db49ffa85", "sha256": "582cab5011a498b47105a0938838bbcedbdb561719f5712f2f3e6f61ec14b769" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2a6a651f181c4f4277dcbc6db49ffa85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21740, "upload_time": "2018-07-13T12:53:35", "url": "https://files.pythonhosted.org/packages/02/93/337b1b554ab9729d3d29c2584f8a1aa162cd898886c4e390a118e9bcd1d5/lyrebird-api-coverage-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "7741c769dadf469b3e031500797c03a3", "sha256": "66d80940a2182d5d056f761cf2467f96c3422135e5a6e8e2f0d623cbd2eca398" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.2.tar.gz", "has_sig": false, "md5_digest": "7741c769dadf469b3e031500797c03a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19590, "upload_time": "2018-08-28T11:55:34", "url": "https://files.pythonhosted.org/packages/ef/ee/629008ec1837dc1e7d1d429883d452c42d2c03470c77ce739f301f3f3604/lyrebird-api-coverage-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "c47455f9046d407e2d5a13fea4a7e00f", "sha256": "2fd8c3e06813a727834095b18bd0abac25980e191ca9d38b0f868ceecb28cb5e" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c47455f9046d407e2d5a13fea4a7e00f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21406, "upload_time": "2018-10-29T02:41:56", "url": "https://files.pythonhosted.org/packages/6a/3c/4185f5deb1d394517b836bb62da180a75d9c005471342737efc7001bdf5d/lyrebird-api-coverage-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3d2a5ab57e605fd2a720b35bac7bc4f8", "sha256": "d40bca40426f8d4758d5e08d2cbed86de1c38713ab2292cd1f91bb2423e83d61" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3d2a5ab57e605fd2a720b35bac7bc4f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21359, "upload_time": "2018-10-29T03:40:37", "url": "https://files.pythonhosted.org/packages/95/a5/ad6dd4a5fdbe8e60d6c8b7e4e627c9391ab8402c3e17b92ba6bc983075f2/lyrebird-api-coverage-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "9b194ba8126b019e0e8f1fc32c08acfd", "sha256": "0028a03a25d56e62b8e9a03720ff77c6e95b29c2d4ebac98b8007481455562bc" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.5.tar.gz", "has_sig": false, "md5_digest": "9b194ba8126b019e0e8f1fc32c08acfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21416, "upload_time": "2018-11-08T02:27:55", "url": "https://files.pythonhosted.org/packages/b3/f7/a139ae2df359a6f866d9eb3d9827b6fae4539feefa3719360677f3b26429/lyrebird-api-coverage-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "a4cbdb23a84bf60c264e584d9dc6a053", "sha256": "559df1d29ed9106d0ad58b3a3c3bb0035880499ce54f2091b6a5b9b8dfc6155f" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.6.tar.gz", "has_sig": false, "md5_digest": "a4cbdb23a84bf60c264e584d9dc6a053", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21409, "upload_time": "2018-11-23T06:12:19", "url": "https://files.pythonhosted.org/packages/04/27/398feb090800a3109ebc19df215f42545f960bf5de8bb96d2b093b76b3cd/lyrebird-api-coverage-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "978bef248e60ccf3c32a8580ad1c9fe6", "sha256": "f04932c890f365f2371aec4f4516fbb012a8fc6137e1530723c63666b3feebd2" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.7.tar.gz", "has_sig": false, "md5_digest": "978bef248e60ccf3c32a8580ad1c9fe6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21223, "upload_time": "2018-12-11T09:46:29", "url": "https://files.pythonhosted.org/packages/5f/3d/157852c552fc0b5bb403a0047c94e5b3542357e13f022251561b839c9d64/lyrebird-api-coverage-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "04ac55985ed773a7f75f14e6d79ef92c", "sha256": "10ae8b8a34b263c57ab6f6549d89a762261fae9b35b3ac6137d37bd9b50a7cdc" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.8.tar.gz", "has_sig": false, "md5_digest": "04ac55985ed773a7f75f14e6d79ef92c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21282, "upload_time": "2018-12-21T13:45:29", "url": "https://files.pythonhosted.org/packages/c7/e7/8bb8a4c52df83e5b36d8a890c3a8c4bfb70b4e337f652b251f679f2d0ad8/lyrebird-api-coverage-0.2.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "04ac55985ed773a7f75f14e6d79ef92c", "sha256": "10ae8b8a34b263c57ab6f6549d89a762261fae9b35b3ac6137d37bd9b50a7cdc" }, "downloads": -1, "filename": "lyrebird-api-coverage-0.2.8.tar.gz", "has_sig": false, "md5_digest": "04ac55985ed773a7f75f14e6d79ef92c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21282, "upload_time": "2018-12-21T13:45:29", "url": "https://files.pythonhosted.org/packages/c7/e7/8bb8a4c52df83e5b36d8a890c3a8c4bfb70b4e337f652b251f679f2d0ad8/lyrebird-api-coverage-0.2.8.tar.gz" } ] }