{ "info": { "author": "Null", "author_email": "546464268@qq.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "### Meteor tears\n\n[![LICENSE](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/xiaoxiaolulu/MeteorTears/blob/master/LICENSE) [![python version](https://img.shields.io/badge/python-3.4%7C3.5%7C3.6%7C3.7-blue.svg)](https://pypi.org/project/MeteorTears/)\n\n\nMeteor tears \u4e00\u6b3e\u57fa\u4e8epython-request\u901a\u8fc7Json\u683c\u5f0f\u6587\u4ef6\u7ba1\u7406\u7528\u4f8b\u7684\u63a5\u53e3\u6d4b\u8bd5\u5de5\u5177\n\n\n### \u7528\u4f8b\u7f16\u5199(Json\u6587\u4ef6\u7ba1\u7406)\nkey | value | example\n------------ | -------------| ----------------\nurl | \u8bf7\u6c42\u63a5\u53e3\u8def\u7531 | /admin/compaign/export\nmethod | \u8bf7\u6c42\u65b9\u5f0f | GET\nparams | url\u5730\u5740\u53c2\u6570 | ?channelId=123importId=456\ndata | \u8bf7\u6c42\u6570\u636e | {\"name\": \"SEMAUTO\", \"categoryId\": $arguments, \"enabled\": 1}\nfile | \u4e0a\u4f20\u6587\u4ef6\u6570\u636e | {file=operate_excel.save_excel(file=os.path.join(parameters.make_directory('Data', 0), 'excel\\compaign_template.xlsx'),data_index=0,excel_key='\u843d\u5730\u9875\u7f16\u53f7',excel_name='compaign_template_\u526f\u672c.xlsx')}\njson | Json\u7c7b\u578b\u8bf7\u6c42 | {\"name\": \"SEMAUTO\", \"categoryId\": $arguments, \"enabled\": 1}\nheaders | \u8bf7\u6c42\u5934 | {'Authorization': 'eyJ0eXAiOiJK', 'Content-Type': 'application/json'} \nassert | \u7ed3\u679c\u65ad\u8a00 | {\"username\": \"NULL\", \"password\": \"123456\", \"auth_code\": ['len': 4]}\nresponseType | \u9a8c\u8bc1\u65ad\u8a00\u7ed3\u679c\u7684\u6570\u636e\u7c7b\u578b | {'Response': ['username'\uff1a'str']}\ndescription | \u7528\u4f8b\u63cf\u8ff0 | \"\u65b0\u589e\u6e20\u9053\"\njsonDiff | \u8fd4\u56de\u7ed3\u679c\u81ea\u52a8\u5bf9\u6bd4 | {\"code\":0,\"message\":\"\u64cd\u4f5c\u6210\u529f\",\"data\":\"\"}\n\n\n### Mysql\u6267\u884c\u8bed\u53e5\u7f16\u5199\u8bb2\u89e3\n```yaml\n- ChannelBudget:\n action: SELECT\n execSQL:\n - table: shopping\n - columns: ['id']\n - params: id='1'\n - desc: ORDER BY id DESC LIMIT 1\n except:\n - is_table: 0\n - message: You have an error in your SQL syntax\n```\n\nkey | value | Sample\n------------ | -------------| ----------------\naction| sql\u6267\u884c\u64cd\u4f5c\u7c7b | SELECT/DELETE/INSERT/UPDATE\u7b49 \ntable| \u6570\u636e\u5e93\u8868 | channel_budget\ncolumns| \u5217\u540d | ['channel_id'] \u5217\u8868\u7c7b\u578b\uff0c\u652f\u6301\u591a\u4e2a\u503c\nparams| \u68c0\u7d22\u6761\u4ef6 | id='1'\ndesc| \u6392\u5e8f | ORDER BY ID DESC LIMIT 1\n\n\n### \u63a5\u53e3\u5f55\u5236V1.0.0\n```text\nFile -\u300bSave -\u300b (a) All sessions \u4ee5saz\u683c\u5f0f\u6587\u4ef6\u4fdd\u5b58\u6240\u6709\u4f1a\u8bdd \n (b) Selected Sessions \u4fdd\u5b58\u9009\u62e9\u7684\u4f1a\u8bdd\n 1. in ArchiveZIP \uff1a\u4fdd\u5b58\u4e3asaz\u6587\u4ef6\n 2. in ArchiveZIP \uff1a\u4fdd\u5b58\u4e3asaz\u6587\u4ef6\n 3. as Text (Headers only) \uff1a\u4ec5\u4fdd\u5b58\u5934\u90e8\n (c) Request \u4fdd\u5b58\u8bf7\u6c42\n 1. Entir Request:\u4fdd\u5b58\u6574\u4e2a\u8bf7\u6c42\u4fe1\u606f\uff08headers\u548cbody\uff09\n 2. Request Body:\u53ea\u4fdd\u5b58\u8bf7\u6c42body\u90e8\u5206\n (d) Response \u4fdd\u5b58\u8bf7\u6c42\u8fd4\u56de\n 1. Request Body:\u53ea\u4fdd\u5b58\u8bf7\u6c42body\u90e8\u5206\n 2. Response Body:\u53ea\u4fdd\u5b58\u8fd4\u56debody\u90e8\u5206\n 3. Response Body:\u53ea\u4fdd\u5b58\u8fd4\u56debody\u90e8\u5206\n\n\u8fd4\u56deResponse\u7ed3\u6784\u4f53\u4e71\u7801\n \u70b9\u51fbdecode \n```\n\n#### \u63a5\u53e3\u56de\u653e\n1. File -\u300bLoad Archive \u5bfc\u5165saz\u6587\u4ef6\n2. Ctr + A \u9009\u62e9\u5168\u90e8\u63a5\u53e3\n3. \u70b9\u51fbReplay\u6309\u94ae, \u6279\u91cf\u8bf7\u6c42\n\n\n#### \u4fee\u6539CustomRules\u6587\u4ef6\n1. \u627e\u5230OnBeforeResponse\u65b9\u6cd5\n2. \u6dfb\u52a0\u5982\u4e0b\u4ee3\u7801\n```javascript\n oSession.utilDecodeResponse();\n var now = new Date();\n var ts = now.getTime();\n var filename = 'F:/MeteorTears/WorkFlow/' + ts + '_' + oSession.id + '.yaml';\n var curDate = new Date();\n var logContent = \"Request url: \" + oSession.url + \"\\r\\nRequest header: \" + oSession.oRequest.headers + \"\\r\\nRequest body: \" + oSession.GetRequestBodyAsString() + \"\\r\\nResponse code: \" + oSession.responseCode + \"\\r\\nResponse body: \" + oSession.GetResponseBodyAsString() + \"\\r\\n\";\n var sw : System.IO.StreamWriter;\n if (System.IO.File.Exists(filename)){\n sw = System.IO.File.AppendText(filename);\n sw.Write(logContent);\n }\n else{\n sw = System.IO.File.CreateText(filename);\n sw.Write(logContent);\n }\n sw.Close();\n sw.Dispose();\n```\n3. C:\\Users\\56464\\Documents\\Fiddler2\\Scripts\\\u76ee\u5f55\u4e0b\u6700\u597d\u5148\u5907\u4efd\u539f\u6587\u4ef6,\u5e76\u547d\u540dCustomRulesBack.js\n4. \u5f55\u5236\u7684\u539f\u59cb\u63a5\u53e3\u4fe1\u606f\u4f1a\u4fdd\u5b58\u5728/WorkFlow/\u76ee\u5f55\u4e0b\n5. \u5f55\u5236\u5b8c\u7684\u63a5\u53e3\u4e3aJSON\u683c\u5f0f\u6587\u4ef6, load_fiddler_files.py\u5206\u6790\u5e76\u751f\u6210\u65b0\u7684\u8fed\u4ee3\u5bf9\u8c61, create_workFlow_obj.py\u5c06\u751f\u6210\u65b0\u7684Json\u683c\u5f0f\u7528\u4f8b\u6587\u4ef6,\n\n--------------\n\n\u6b22\u8fce\u4ea4\u6d41 QQ: 546464268(Null)", "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/xiaoxiaolulu/MeteorTears", "keywords": "HTTP api test requests", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "MeteorTears", "package_url": "https://pypi.org/project/MeteorTears/", "platform": "", "project_url": "https://pypi.org/project/MeteorTears/", "project_urls": { "Homepage": "https://github.com/xiaoxiaolulu/MeteorTears" }, "release_url": "https://pypi.org/project/MeteorTears/1.0.1/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "summary": "Even the most boring times in life are limited.", "version": "1.0.1" }, "last_serial": 4637187, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "1733c7363909522095a819ee98033426", "sha256": "40a2be1841158f733430e121ddf707addbfd445d98396bafc2e9fdac2d2b3a02" }, "downloads": -1, "filename": "MeteorTears-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1733c7363909522095a819ee98033426", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 209396, "upload_time": "2018-12-27T07:55:27", "url": "https://files.pythonhosted.org/packages/22/91/01551ef6ad729674f73a1b649a7a0144101d9c0c1e740655f65b1e5b68c2/MeteorTears-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "aefbc49ab5fce484b897ae50cb861e93", "sha256": "574c14badabfd8f1f23e6d8606663738bcc93a1cced63bdb6a2c5a048cdbf4ee" }, "downloads": -1, "filename": "MeteorTears-1.0.1.tar.gz", "has_sig": false, "md5_digest": "aefbc49ab5fce484b897ae50cb861e93", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 209443, "upload_time": "2018-12-27T08:15:19", "url": "https://files.pythonhosted.org/packages/9f/57/86fbfc4fb7fbe8dedcbbfed0e379cad01ed2e2f6614e44d787da489e83f3/MeteorTears-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aefbc49ab5fce484b897ae50cb861e93", "sha256": "574c14badabfd8f1f23e6d8606663738bcc93a1cced63bdb6a2c5a048cdbf4ee" }, "downloads": -1, "filename": "MeteorTears-1.0.1.tar.gz", "has_sig": false, "md5_digest": "aefbc49ab5fce484b897ae50cb861e93", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 209443, "upload_time": "2018-12-27T08:15:19", "url": "https://files.pythonhosted.org/packages/9f/57/86fbfc4fb7fbe8dedcbbfed0e379cad01ed2e2f6614e44d787da489e83f3/MeteorTears-1.0.1.tar.gz" } ] }