Framework based on Selenium WebDriver. Contains wrapper around Selenium WebDriver functionaly and UI to facilitate in development.
Features:
- Supports Firefox, Chrome, IE, Opera and PhantomJS.
- Supports PageObject pattern
- Supports Continuous Integration
- Suits for novice users.
- Supports Python 2 and Python 3
Framework can be used as standalone framework with UI and/or as a library. Supportive classes:
GUI easy_selenium_ui.py:
- Generator
- Editor
- Test runner
- Python
- wxPython
- Selenium WebDriver
- nose
- nose-htmloutput plug-in
- nose-pathmunge plug-in
Most of Browser
functions support both WebElement
object and tuple/list which represents html element. This tuple/list object should contain selector/locator as first element and value as a second element. Example: input = (By.NAME, 'q')
Here is simple example:
>>> from selenium.webdriver.common.by import By
>>> from easyselenium.browser import Browser
>>> browser = Browser('ff') # initilizing browser
>>> browser.get('http://www.google.com') # going to google
>>> # creating variables for page elements:
>>> input = (By.NAME, 'q') # input element
>>> search_btn = (By.NAME, 'btnG') # search button element
>>> result = (By.CSS_SELECTOR, '.r') # found results titles' elements
>>> # back to action
>>> browser.type(input, u'selenium') # typing 'selenium' into search field
>>> browser.click(search_btn) # clicking search button
>>> browser.get_text(result) # getting first found title
u'Selenium - Web Browser Automation'
>>> browser.quit() # closing browser
Check browser_test.py for more examples.
Done via command line script easy_selenium_cli.py
- Download latest code from GitHub
- Extract it
- Open terminal or command line console
- Navigate to extracted folder
- Install all required libraries
python -m pip install -r requirements.txt
- Go to
easyselenium
folder and install with command:
python setup.py install
MIT License easyselenium_license.txt