{ "info": { "author": "gerrywen", "author_email": "blog@gerrywen.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pypise\nWebUI automation testing framework based on Selenium and unittest.\n\n#### \u4ecb\u7ecd\uff1a\n pypise\u57fa\u4e8eselenium\uff08webdriver\uff09\u8fdb\u884c\u4e86\u7b80\u5355\u7684\u4e8c\u6b21\u5c01\u88c5\uff0c\u6bd4selenium\u6240\u63d0\u4f9b\u7684\u65b9\u6cd5\u64cd\u4f5c\u66f4\u7b80\u6d01\u3002\n\n#### \u7279\u70b9\uff1a\n* \u9ed8\u8ba4\u4f7f\u7528CSS\u5b9a\u4f4d\uff0c\u540c\u65f6\u652f\u6301\u591a\u79cd\u5b9a\u4f4d\u65b9\u6cd5\uff08id\\name\\class\\link_text\\xpath\\css\uff09\u3002\n* \u672c\u6846\u67b6\u53ea\u662f\u5bf9selenium\uff08webdriver\uff09\u539f\u751f\u65b9\u6cd5\u8fdb\u884c\u4e86\u7b80\u5355\u7684\u5c01\u88c5\uff0c\u7cbe\u7b80\u4e3a\u5927\u7ea630\u4e2a\u65b9\u6cd5\uff0c\u8fd9\u4e9b\u65b9\u6cd5\u57fa\u672c\u80fd\u591f\u80dc\u4efb\u4e8e\u6211\u4eec\u7684web\u81ea\u52a8\u5316\u6d4b\u8bd5\u3002\n* \u4ee5\u6d4b\u8bd5\u7c7b\u4e3a\u5355\u4f4d\uff0c\u81ea\u52a8\u6253\u5f00\u548c\u5173\u95ed\u6d4f\u89c8\u5668\uff0c\u51cf\u5c11\u6d4f\u89c8\u5668\u7684\u6253\u5f00/\u5173\u95ed\u6b21\u6570\uff0c\u8282\u7701\u65f6\u95f4\u3002\n* \u81ea\u52a8\u751f\u6210/report/\u76ee\u5f55\uff0c\u4ee5\u53caHTML\u6d4b\u8bd5\u62a5\u544a\u751f\u6210\u3002\n* \u81ea\u5e26\u65ad\u8a00\u65b9\u6cd5\uff0c\u65ad\u8a00title\u3001URL \u548c text\u3002\n\n#### \u5b89\u88c5\u8bf4\u660e\uff1a\n* Python 3.5+ : https://www.python.org/\n* Selenium 3.12.0 : https://pypi.python.org/pypi/selenium\n* \u8fdb\u5165pypise/\u76ee\u5f55\uff0c\u6267\u884c:\n\n```\n> python setup.py install\n```\n\n#### \u4f8b\u5b50\uff1a\n\n\u8bf7\u67e5\u770bdemo/test_case.py\u76ee\u5f55\n\n```python\nimport pypise\n\nclass BaiduTest(pypise.TestCase):\n\n def test_baidu(self):\n ''' baidu search key : pypise '''\n self.open(\"https://www.baidu.com/\")\n self.type(\"#kw\", \"pypise\")\n self.click(\"#su\")\n self.assertTitle(\"pypise_\u767e\u5ea6\u641c\u7d22\")\n\nif __name__ == '__main__':\n runner = pypise.TestRunner()\n runner.run()\n```\n\n\u8fd0\u884c\u6d4b\u8bd5\u7528\u4f8b\u8bf4\u660e\uff1a\n* \u6d4b\u8bd5\u7528\u4f8b\u6587\u4ef6\u547d\u540d\u5fc5\u987b\u4ee5\u201c__test__\u201d\u5f00\u5934\u3002\n* \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528 __Chrome__ \u6d4f\u89c8\u5668\u8fd0\u884c\u6d4b\u8bd5\u7528\u4f8b\u3002\n* \u5143\u7d20\u5b9a\u4f4d\u65b9\u5f0f\u9ed8\u8ba4\u4f7f\u7528 CSS \u8bed\u6cd5 `#kw`, \u4e5f\u53ef\u4ee5\u663e\u793a\u7684\u4f7f\u7528 `css=>#kw`\u3002\n* pypise\u7684TestCase\u7c7b\u4e2d\u9ed8\u8ba4\u5c01\u88c5\u4e86`assertTitle`\u3001`assertUrl` \u548c `assertText`\u7b49\u65ad\u8a00\u3002\n* `TestRunner()` \u9ed8\u8ba4\u5339\u914d\u5f53\u524d\u76ee\u5f55\u4e0b\"test*.py\"\u7684\u6587\u4ef6\u5e76\u6267\u884c\u3002\u5f53\u7136\u4e5f\u53ef\u4ee5\u6307\u5b9a\u6d4b\u8bd5\u76ee\u5f55\uff0c\u4f8b\u5982\uff1a\nTestRunner(\"path/you/project/test_case/\") # \u6ce8\u610f\u7528\u659c\u7ebf\"/\"\u8868\u793a\u8def\u5f84\u3002\n* \u6267\u884c`run()`\u65b9\u6cd5\u8fd0\u884c\u6d4b\u8bd5\u7528\u4f8b\u5e76\u751f\u6210\u6d4b\u8bd5\u62a5\u544a\uff0c\u5728\u8c03\u8bd5\u6d4b\u8bd5\u7528\u4f8b\u8fc7\u7a0b\u4e2d\u53ef\u4ee5\u4f7f\u7528 `debug()` \u65b9\u6cd5\u5c06\u4e0d\u4f1a\u751f\u6210HTML\u6d4b\u8bd5\u62a5\u544a\u3002\n\n\n#### \u652f\u6301\u7684\u6d4f\u89c8\u5668\u53ca\u9a71\u52a8\uff1a\n\n\u6307\u5b9a\u8fd0\u884c\u7684\u6d4f\u89c8\u5668\uff1a\n\n```python\nimport pypise\n\nclass YouTest(pypise.TestCase):\n\n @classmethod\n def setUpClass(cls):\n cls.driver = Pypise(\"chrome\")\n\n def test_case(self):\n #\u2026\u2026\n\n```\n\n\u652f\u6301\u7684\u6d4f\u89c8\u5668:\n\n```python\ncls.driver = Pypise(\"firefox\") #Firefox\ncls.driver = Pypise(\"chrome\") # Chrome\ncls.driver = Pypise(\"ie\") #IE\ncls.driver = Pypise(\"opera\") #Opera\ncls.driver = Pypise(\"edge\") #Edge\ncls.driver = Pypise(\"chrome_headless\") #Chrome headless\u6a21\u5f0f\n```\n\n\u6d4f\u89c8\u5668\u9a71\u52a8\u4e0b\u8f7d\u5730\u5740\uff1a\n\ngeckodriver(Firefox):https://github.com/mozilla/geckodriver/releases\n\nChromedriver(Chrome):https://sites.google.com/a/chromium.org/chromedriver/home\n\nIEDriverServer(IE):http://selenium-release.storage.googleapis.com/index.html\n\noperadriver(Opera):https://github.com/operasoftware/operachromiumdriver/releases\n\nMicrosoftWebDriver(Edge):https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver\n\n==========================================================\n\n#### \u5143\u7d20\u5b9a\u4f4d:\n\npypise\u652f\u6301\u591a\u79cd\u5b9a\u4f4d\u65b9\u5f0f\uff0cid\u3001name\u3001class\u3001link text\u3001xpath\u548ccss\u3002\u628a\u5b9a\u4f4d\u65b9\u6cd5\u4e0e\u5b9a\u4f4d\u5185\u5bb9\u4e00\u4f53\uff0c\u5199\u8d77\u66f4\u52a0\u7b80\u6d01\u3002\n```html\n
\n \n \n```\n\n\u5b9a\u4f4d\u65b9\u5f0f\uff08\u63a8\u8350\u4f7f\u7528 CSS\uff09\uff1a\n\n```python\n# \u9ed8\u8ba4\u652f\u6301CSS\u8bed\u6cd5\ndriver.type(\".s_ipt\",\"pypise\") #css\ndriver.type(\"#su\",\"pypise\") #css\n\ndriver.type(\"id=>kw\", \"pypise\") #id\n\ndriver.type(\"class=>s_ipt\", \"pypise\") #class\u5b9a\u4f4d\n\ndriver.type(\"name=>wd\", \"pypise\") #name\n\ndriver.type(\"xpath=>//*[@class='s_ipt']\",\"pypise\") #xpath\ndriver.type(\"xpath=>//*[@id='kw']\",\"pypise\") #xpath\n\ndriver.click_text(\"link_text=>\u65b0\u95fb\") #link text (\u70b9\u51fb\u767e\u5ea6\u9996\u9875\u4e0a\u7684\"\u65b0\u95fb\"\u94fe\u63a5)\n\n```\n\n==========================================================\n\n css\u9009\u62e9\u5668\u53c2\u8003\u624b\u518c\uff1a\n http://www.w3school.com.cn/cssref/css_selectors.asp\n\n#### \u6d4b\u8bd5\u62a5\u544a\n\n![](./test_report.png)\n\n\n", "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/gerrywen/pypise.git", "keywords": "pypise pypise selenium testcase unittest", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pypise", "package_url": "https://pypi.org/project/pypise/", "platform": "", "project_url": "https://pypi.org/project/pypise/", "project_urls": { "Homepage": "https://github.com/gerrywen/pypise.git" }, "release_url": "https://pypi.org/project/pypise/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "WebUI automation testing framework based on Selenium and unittest.", "version": "0.0.1" }, "last_serial": 5642896, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "2546184e8202286881fa62afa7ee0982", "sha256": "f252b151f5383d880207918791610f24ae0c1fd63716aa9c4dc908b3b8ff3ea6" }, "downloads": -1, "filename": "pypise-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2546184e8202286881fa62afa7ee0982", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18988, "upload_time": "2019-08-07T03:06:05", "url": "https://files.pythonhosted.org/packages/4c/4a/cc6e1a2075507f0fd780abd9291cd790d3ab2cf61e58ef2c1e239f1c01c2/pypise-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ef3fc1705e01ea70647d4555111f910", "sha256": "ec2e15b1f66bd48c2b1982749f363a8406e11054a0454fa51890c72073c447ad" }, "downloads": -1, "filename": "pypise-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8ef3fc1705e01ea70647d4555111f910", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18722, "upload_time": "2019-08-07T03:06:08", "url": "https://files.pythonhosted.org/packages/0f/81/49ce1d1d168aa58d8e13787a11879a02acf46ec8f438db9f2cc74f3a09f4/pypise-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2546184e8202286881fa62afa7ee0982", "sha256": "f252b151f5383d880207918791610f24ae0c1fd63716aa9c4dc908b3b8ff3ea6" }, "downloads": -1, "filename": "pypise-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2546184e8202286881fa62afa7ee0982", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18988, "upload_time": "2019-08-07T03:06:05", "url": "https://files.pythonhosted.org/packages/4c/4a/cc6e1a2075507f0fd780abd9291cd790d3ab2cf61e58ef2c1e239f1c01c2/pypise-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ef3fc1705e01ea70647d4555111f910", "sha256": "ec2e15b1f66bd48c2b1982749f363a8406e11054a0454fa51890c72073c447ad" }, "downloads": -1, "filename": "pypise-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8ef3fc1705e01ea70647d4555111f910", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18722, "upload_time": "2019-08-07T03:06:08", "url": "https://files.pythonhosted.org/packages/0f/81/49ce1d1d168aa58d8e13787a11879a02acf46ec8f438db9f2cc74f3a09f4/pypise-0.0.1.tar.gz" } ] }