{ "info": { "author": "Abdullah Khan", "author_email": "abbu.1702@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# willet\nGeneric Automation Framework \n\n Contents\n- [Introduction](Introduction)\n- [Installation](Installation)\n- [Example](Example)\n- [Support](Support)\n\n\n#### [Introduction](Introduction)\n\nWillet Framework is a generic open source automation framework for acceptance testing, data drivern testing, and it has designed in such a way that even non techinal person can understand. Tests can be witten in same way what the manual tests flow are(Testcase -> Steps-> Expected and actual).\n\nThe core framework is implemented using Python, Python 3 runs on PyPy. The framework has a rich ecosystem around it consisting of various generic libraries.\n\nWillet Framework project is hosted on GitHub where you can find source code, an issue tracker, and some further documentation. See CONTRIBUTING.rst if you are interested to contribute. Downloads are hosted on PyPI.\n\n#### [Installation](Installation)\n\nIf you already have\t**[Python](https://www.python.org/)**\twith\t**[pip](https://pip.pypa.io/en/stable/)** installed, you can simply run:\n\npip install willet\n\nAlternatively you can get Willet Framework source code by downloading the source distribution from **[PyPI](https://pypi.org/project/willet/#description)** and extracting it, or by cloning the project repository from \t**[GitHub](https://github.com/abdulab/willet)**. After that you can install the framework with:\n\npython setup.py install\n\n#### [Example](Example)\n\nUsing the willet framework is pretty much simple. We can write the scripts in the same way we write Functional Test cases.\n\n###### For Example:\n> In general functional Test case follows pattern like\n1. Test case (with release No. , relates to = Story , Test case Number with description) under the Test case we have Steps\n- Step 1\n- Step 2\n- Step 3\n- ........\n- And Last Step Verification or Validation of the Test case\n\n> So willet Automation Framework follows the same pattern\n\n###### Creating Test Case in willet Automation Framework:\n\nFirst create method\n```python\n def test():\n\tBrowsers.open(browser_name, url)\n\tTestCase(tc=\"TC001\" relates_to=\"Story No.\", release=\"8.5\")\n\tStep(step_description=\"Step 1\", element=\"someelement\", actions=Action.CLICK)\n\tStep(step_description=\"Step 1\", element=\"someelement\", actions=Action.TYPE, data= data)\n\tStep(step_description=\"\",actual=Verify.title(),expected=\"expected value\")\n```\n> Here someelement is nothing but page object or element to which we want to perform some action like Click or type etc.,\n\n###### Suggestions for maintaining a project tree structure:\n\n- Project Name\n - modules\n - Module Name\n - pageobjects\n - steps\n - data\n - testcases\n\n> Under page objects we can maintain all the page objects related to the particular module\n\nExample:\n```python\n def pageobjectsname():\n Find.findby(by=BY.XPATH, element_name=\"name of the element\", value = \"//xpath\")\n ```\n> Under the steps folder we can mentain all the steps related to the module\n\nExample :\n```python\n def step_name(self):\n Step(step_description=\"Click on some element\",element=pageobjectsame(),actions=Action.CLICK)\n return self\n```\n\n> Under Test cases folder we can mentain all the test cases related the module. Where we an combine all the steps(related steps)to the Test case\n\nExample:\n```python\ndef login_with_system_admin():\n TestCase(tc=\"TC001\", relates_to=\"Story No.\", release=\"1.0\")\n step_name()\n```\n#### [Support](Support)\n- [Slack](https://willet.slack.com/open)\n- [willet](abbu.1702@gmail.com) mailing list\n\n\n\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/abdulab/willet.git", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "willet", "package_url": "https://pypi.org/project/willet/", "platform": "", "project_url": "https://pypi.org/project/willet/", "project_urls": { "Homepage": "https://github.com/abdulab/willet.git" }, "release_url": "https://pypi.org/project/willet/1.1/", "requires_dist": [ "willet", "selenium", "openpyxl", "pandas", "PyPDF2", "PyYAML", "requests", "seleniumwrapper", "table-logger", "urllib3", "xlrd", "xlwt" ], "requires_python": "", "summary": "Automation Framework", "version": "1.1" }, "last_serial": 5964803, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "01ce34e02760f532145b4d6dc1ef39af", "sha256": "5ca4497ebf5d036ef76a49c66c3464c07222b429e4948ab178a82a9b6717c7f7" }, "downloads": -1, "filename": "willet-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "01ce34e02760f532145b4d6dc1ef39af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9741655, "upload_time": "2019-10-12T16:28:20", "url": "https://files.pythonhosted.org/packages/da/95/92d4930f7a8ad5a8e5cb6fe786b2220eadbe7d3f6e456527117d331e4990/willet-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ccae7493841a0933f6923110de7e3ec", "sha256": "30dca8ecb0be39d2c600af9541fa8efa99e484135363225e69ad22549ca1f10a" }, "downloads": -1, "filename": "willet-1.1.tar.gz", "has_sig": false, "md5_digest": "0ccae7493841a0933f6923110de7e3ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9706826, "upload_time": "2019-10-12T16:28:29", "url": "https://files.pythonhosted.org/packages/1b/23/391dbf4f8051933a0cdbc7fb008f7275a5dfef37c156e25552affb8883fd/willet-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "01ce34e02760f532145b4d6dc1ef39af", "sha256": "5ca4497ebf5d036ef76a49c66c3464c07222b429e4948ab178a82a9b6717c7f7" }, "downloads": -1, "filename": "willet-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "01ce34e02760f532145b4d6dc1ef39af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9741655, "upload_time": "2019-10-12T16:28:20", "url": "https://files.pythonhosted.org/packages/da/95/92d4930f7a8ad5a8e5cb6fe786b2220eadbe7d3f6e456527117d331e4990/willet-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ccae7493841a0933f6923110de7e3ec", "sha256": "30dca8ecb0be39d2c600af9541fa8efa99e484135363225e69ad22549ca1f10a" }, "downloads": -1, "filename": "willet-1.1.tar.gz", "has_sig": false, "md5_digest": "0ccae7493841a0933f6923110de7e3ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9706826, "upload_time": "2019-10-12T16:28:29", "url": "https://files.pythonhosted.org/packages/1b/23/391dbf4f8051933a0cdbc7fb008f7275a5dfef37c156e25552affb8883fd/willet-1.1.tar.gz" } ] }