Giter VIP home page Giter VIP logo

axui's Introduction

AXUI

Documentation Status Code Health Latest AXUI version Number of PyPI downloads

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

  1. AXUI provide a plug-in mechanism for automation guy to extend support for different UI

  2. AXUI provide built-in drivers for:

  3. AXUI provide an unified, easy to use python interface for use in test scripts

  4. AXUI separate UI logic from test scripts, make test scripts more readable and easier to maintain

  5. AXUI provide mechanism to handle auto met UI automation issues, like UI response time

An overview of AXUI structure

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

axui's People

Contributors

xcgspring avatar ralic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.