Skip to content

kirillstrelkov/easelenium

Repository files navigation

easelenium

Test

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 only Python 3.8+(for older python versions check 0.3 tag)

Framework can be used as standalone framework with UI and/or as a library. Supportive classes:

GUI easelenium_ui:

  • Generator
  • Editor
  • Test runner

Dependencies

  1. Python
  2. wxPython
  3. Selenium WebDriver
  4. pytest
  5. pytest-html
  6. pytest-dotenv
  7. loguru

Simple usage

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 easelenium.browser import Browser

>>> browser = Browser('gc') # create browser

>>> browser.get('https://www.duckduckgo.com') # go to page

>>> browser.type(by_name='q', text='selenium') # type 'selenium' into search field

>>> browser.click(by_id='search_button_homepage') # click search button

>>> browser.get_text(by_css='h2.result__title') # get first result title
'SeleniumHQ Browser Automation'

>>> browser.quit() # close browser

Check browser_test.py for more examples.

Continuous Integration

Done via command line script easelenium_cli

Installation

Using pip

pip install easelenium

Manual

  1. Download latest code from GitHub

  2. Extract it

  3. Open terminal or command line console

  4. Navigate to extracted folder

  5. Install all required libraries

    python -m pip install -r requirements.txt
  6. Go to easelenium folder and install with command:

    python setup.py install

License

MIT License easelenium_license.txt

Tutorial

  1. Introduction
  2. Setup
  3. Test creation
  4. Continuous Integration

More information

Presentation

Thesis which contains description of the framework