{ "info": { "author": "xcgspring", "author_email": "xcgspring@163.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing" ], "description": "\r\n====\r\nAXUI\r\n====\r\n\r\n.. image:: https://readthedocs.org/projects/axui/badge/?version=latest\r\n :target: https://readthedocs.org/projects/axui/?badge=latest\r\n :alt: Documentation Status\r\n\r\n.. image:: https://landscape.io/github/xcgspring/AXUI/master/landscape.svg?style=flat\r\n :target: https://landscape.io/github/xcgspring/AXUI/master\r\n :alt: Code Health\r\n \r\n.. image:: https://img.shields.io/pypi/v/AXUI.svg\r\n :target: https://pypi.python.org/pypi/AXUI/\r\n :alt: Latest AXUI version\r\n\r\n.. image:: https://img.shields.io/pypi/dm/AXUI.svg\r\n :target: https://pypi.python.org/pypi/AXUI/\r\n :alt: Number of PyPI downloads\r\n \r\nAXUI is short for \"Auto eXecute UI\", is an UI automation framework, target to minimize the gap between tools and testers.\r\nAXUI provides testers a powerful, unified, easy to use interface for common met platforms, like windows desktop, web, Android, IOS...\r\n\r\nAXUI features\r\n==============\r\n\r\n1. AXUI provide a plug-in mechanism for automation guy to extend support for different UI\r\n2. AXUI provide built-in drivers for:\r\n\r\n - `windows native UIAutomation Client API `_ for windows desktop UI\r\n - `selenium project `_ for web UI\r\n - `appium project `_ for Android and IOS UI\r\n \r\n3. AXUI provide an unified, easy to use python interface for use in test scripts\r\n4. AXUI separate UI logic from test scripts, make test scripts more readable and easier to maintain\r\n5. AXUI provide mechanism to handle auto met UI automation issues, like UI response time \r\n\r\nAn overview of AXUI structure\r\n=============================\r\n\r\n.. image:: http://axui.readthedocs.org/en/latest/_images/AXUI_structure.PNG\r\n :target: http://axui.readthedocs.org/en/latest/_images/AXUI_structure.PNG\r\n :alt: AXUI structure\r\n\r\ncode demonstrations\r\n==============================\r\n\r\nThis code is in ``example/selenium``, it's a simple example to demonstrate how AXUI separate UI logic from test script.\r\n\r\nThough this example give us a impression that AXUI add extra complexities but doesn't improve code readability.\r\nImage that an app contains a lot of UI Elements, and the search identifiers split into multiple test scripts, then AXUI can gather all UI identifiers into one appmap, and make your scripts clean to read and maintain.\r\n\r\n*Original*::\r\n\r\n import selenium.webdriver as webdriver\r\n\r\n browser = webdriver.Chrome(executable_path = r\"chromedriver.exe\")\r\n browser.get(r\"http://www.bing.com\")\r\n\r\n searchEdit = browser.find_element_by_id(\"sb_form_q\")\r\n goButton = browser.find_element_by_id(\"sb_form_go\")\r\n\r\n searchEdit.send_keys(\"AXUI\")\r\n goButton.click()\r\n\r\n*AXUI AppMap*::\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n*AXUI Code*::\r\n\r\n import AXUI\r\n\r\n config_file = \"selenium.cfg\"\r\n app_map = \"www.bing.com.xml\"\r\n\r\n AXUI.Config(config_file)\r\n appmap = AXUI.AppMap(app_map)\r\n\r\n appmap.browser.start(browser_name=\"CHROME\", executable_path = r\"chromedriver.exe\")\r\n\r\n appmap.browser.searchEdit.Keyboard.input(\"AXUI\")\r\n appmap.browser.goButton.Mouse.left_click()\r\n\r\n\r\nMore details, please check `AXUI documents `_\r\n\r\nTo have quick experience about AXUI, please check `AXUI samples `_\r\n", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xcgspring/AXUI", "keywords": "UI,automation", "license": "Apache Licence Version 2.0", "maintainer": null, "maintainer_email": null, "name": "AXUI", "package_url": "https://pypi.org/project/AXUI/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/AXUI/", "project_urls": { "Homepage": "https://github.com/xcgspring/AXUI" }, "release_url": "https://pypi.org/project/AXUI/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "A cross platform UI auto framework", "version": "0.2.4" }, "last_serial": 1541604, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "66fb472ab7fe760c20cb740eea259b13", "sha256": "061d4d377a544b0f902e06bc2455fec83acb7009c4897679049677b741017393" }, "downloads": -1, "filename": "AXUI-0.2.1.zip", "has_sig": false, "md5_digest": "66fb472ab7fe760c20cb740eea259b13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59101, "upload_time": "2015-04-20T02:13:09", "url": "https://files.pythonhosted.org/packages/f8/8d/d03d91be6a4db3cdbfea84f4657983f319bc6e8ee61cee577ecaeefa4f6b/AXUI-0.2.1.zip" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "7776a523ffe60fca98a5e01804737bf9", "sha256": "17d4991a0dd7497e55ce3831b759e52d33b7d23383415e9c345039d9217ef3c5" }, "downloads": -1, "filename": "AXUI-0.2.2.zip", "has_sig": false, "md5_digest": "7776a523ffe60fca98a5e01804737bf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59083, "upload_time": "2015-04-20T02:29:48", "url": "https://files.pythonhosted.org/packages/a3/7a/4c2b969dedf9cd4017288a8dea3492f03bd904d0c3b845fabece07f22145/AXUI-0.2.2.zip" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "937a039b3bed15bc0ab26f1d505efea8", "sha256": "8b06f3a62e27a072c2e00aeca70a8b5056fe90221b2583d2f6e5c985bfc91c84" }, "downloads": -1, "filename": "AXUI-0.2.3.zip", "has_sig": false, "md5_digest": "937a039b3bed15bc0ab26f1d505efea8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59169, "upload_time": "2015-05-11T06:46:20", "url": "https://files.pythonhosted.org/packages/8e/fd/4ab7c095b35ae8d5f3f047bda68316867fc8ec5089cbb27a91021e2ef530/AXUI-0.2.3.zip" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "aed9f3c6ab45ef6321c7180d45ae46cd", "sha256": "85f75bb820b5984e2720c4a01882cec777b50abaa5e39aa44e4f3164b56442f5" }, "downloads": -1, "filename": "AXUI-0.2.4.zip", "has_sig": false, "md5_digest": "aed9f3c6ab45ef6321c7180d45ae46cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59170, "upload_time": "2015-05-11T07:56:25", "url": "https://files.pythonhosted.org/packages/da/14/50f5c28755bd15a4536ff3292c42101efe8bdcdeef947ed4ee375a32c4c2/AXUI-0.2.4.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aed9f3c6ab45ef6321c7180d45ae46cd", "sha256": "85f75bb820b5984e2720c4a01882cec777b50abaa5e39aa44e4f3164b56442f5" }, "downloads": -1, "filename": "AXUI-0.2.4.zip", "has_sig": false, "md5_digest": "aed9f3c6ab45ef6321c7180d45ae46cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59170, "upload_time": "2015-05-11T07:56:25", "url": "https://files.pythonhosted.org/packages/da/14/50f5c28755bd15a4536ff3292c42101efe8bdcdeef947ed4ee375a32c4c2/AXUI-0.2.4.zip" } ] }