Skip to content

PyUIA is a library aiming to facilitate the implementation of UI test automation with Python.

License

Notifications You must be signed in to change notification settings

imsardine/pyuia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyUIA

PyUIA stands for Python UI Automation. It is a library/framework aiming to facilitate the implementation of UI test automation on various platforms, including mobile and desktop OSs.

UI test automation is brittle to (inevitable) changes in UI. PyUIA emphasizes keyword-driven testing approach and Page Object Pattern, and that results in test code organized in a more manageable way that scales.

The diagram below indicates where PyUIA fits into.

.------------------------.
|      Requirements      |
|------------------------|
|        Keywords        |
'------------------------'
                           ---.
.------------------------.    |
|      Keyword Impl.     |    |
'----------/---\---------'    |
         /       \            |
.-------v---. .---v------.     > Where PyUIA fits into
| Page Obj. | | Page Obj.|    |
| (Android) | |  (iOS)   |    |
'-----------' '----------'    |
                           ---' 
.------------------------.
|      Testing Tools     |
|------------------------|
| Application Under Test |
'------------------------'

For a real example about how PyUIA works with WordPress for Android, refer to imsardine/pyuia-example-wordpress. Here is the testing result worth looking at. Do not miss embedded screenshots and SEPERATED device logs collected during each keyword execution.

Installation

If you have Python with Pip or EasyInstall installed, simply run:

pip install pyuia

or

easy_install install pyuia

Alternatively, if you perfer to install it from source, just clone the repository and run:

python setup install

Robot Framework Keyword Implementation

  • pyuia.robot.BaseAppLibrary - A base class for creating AN Application Library for your app.
  • pyuia.robot.BasePageLibrary - A base class for creating Page/Screen Libraries for each page/screen (object) you are going to model.

Page Object Implementation

  • pyuia.PageObject - A generic (technology-independent) implementation of Page Object Pattern. It provides several utility methods for asserting/waiting the presence/absence of UI elements.
  • pyuia.selenium.SeleniumPageObject - A base class for creating page objects that drive Selenium internally.
  • pyuia.appium.AppiumPageObject - A base class for creating page objects that drive Appium internally.

License

MIT

About

PyUIA is a library aiming to facilitate the implementation of UI test automation with Python.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages