A cross platform UI auto framework
Project description
AXUI is short for “Auto eXecute UI”, is an UI automation framework, target to minimize the gap between tools and testers. AXUI provides testers a powerful, unified, easy to use interface for common met platforms, like windows desktop, web, Android, IOS…
AXUI features
AXUI provide a plug-in mechanism for automation guy to extend support for different UI
AXUI provide built-in drivers for:
windows native UIAutomation Client API for windows desktop UI
selenium project for web UI
appium project for Android and IOS UI
AXUI provide an unified, easy to use python interface for use in test scripts
AXUI separate UI logic from test scripts, make test scripts more readable and easier to maintain
AXUI provide mechanism to handle auto met UI automation issues, like UI response time
An overview of AXUI structure
code demonstrations
This code is in example/selenium, it’s a simple example to demonstrate how AXUI separate UI logic from test script.
Though this example give us a impression that AXUI add extra complexities but doesn’t improve code readability. Image 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.
Original:
import selenium.webdriver as webdriver browser = webdriver.Chrome(executable_path = r"chromedriver.exe") browser.get(r"http://www.bing.com") searchEdit = browser.find_element_by_id("sb_form_q") goButton = browser.find_element_by_id("sb_form_go") searchEdit.send_keys("AXUI") goButton.click()
AXUI AppMap:
<AXUI:app_map xmlns:AXUI="AXUI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="AXUI AXUI_app_map.xsd"> <AXUI:funcs> <AXUI:func name="go_to_bing" description=""> <AXUI:step type="GUI" cmd='browser.BrowserPattern.get "http://www.bing.com"'/> </AXUI:func> </AXUI:funcs> <AXUI:UI_elements> <AXUI:Root_element name="browser" > <AXUI:UI_element name="searchEdit" identifier="id='sb_form_q'" start_func="go_to_bing"/> <AXUI:UI_element name="goButton" identifier="id='sb_form_go'" start_func="go_to_bing"/> </AXUI:Root_element> </AXUI:UI_elements> </AXUI:app_map>
AXUI Code:
import AXUI config_file = "selenium.cfg" app_map = "www.bing.com.xml" AXUI.Config(config_file) appmap = AXUI.AppMap(app_map) appmap.browser.start(browser_name="CHROME", executable_path = r"chromedriver.exe") appmap.browser.searchEdit.Keyboard.input("AXUI") appmap.browser.goButton.Mouse.left_click()
More details, please check AXUI documents
To have quick experience about AXUI, please check AXUI samples
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file AXUI-0.2.4.zip
.
File metadata
- Download URL: AXUI-0.2.4.zip
- Upload date:
- Size: 59.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f75bb820b5984e2720c4a01882cec777b50abaa5e39aa44e4f3164b56442f5 |
|
MD5 | aed9f3c6ab45ef6321c7180d45ae46cd |
|
BLAKE2b-256 | da1450f5c28755bd15a4536ff3292c42101efe8bdcdeef947ed4ee375a32c4c2 |