Skip to main content

Selenium Unit Test Framework

Project description

Contents

Overview

Installation

Running tests

Usage

Using the Chrome Developer Console

Description

Useful commands

Element query examples

More info

Code organization

Overview

A Selenium Unit Test Framework for Selenium with the Selenium Python client.

Selenium is an open-source web application automation and testing framework. Tests are written using WebDriver-compatible language-specific client libraries.

The Selenium tests are written in Python and run through the language’s built-in unittest framework. A custom test runner and reporter handle boilerplate Selenium setup along with storage of results in a json file for post-processing.

Back to top

Installation

pip install selenium_unittest

Back to top

Running tests

run_tests.py script

python -m selenium_unittest.selenium_test_runner.py --browser_name "Chrome"

Usage

usage: -c [-h] --browser_name {Chrome} [--browser_version BROWSER_VERSION]
          [--test_suites TEST_SUITES] [--test_types TEST_TYPES]
          [--pattern PATTERN] [--show_previous_results] [--base_url BASE_URL]

Run a Selenium test

optional arguments:
  -h, --help            show this help message and exit
  --browser_name {Chrome}
                        Browser to run tests on.
  --browser_version BROWSER_VERSION
                        Selenium test browser version.
  --test_suites TEST_SUITES
                        Comma-separated test directories.
  --test_types TEST_TYPES
                        Comma-separated list of test types to run (Ex:
                        "Smoke", "Guide-Discovery")
  --pattern PATTERN     Regular expression to filter which file patterns to
                        regard as tests.
  --show_previous_results
                        Whether to combine the results of previous test runs
                        for display at the end.
  --base_url BASE_URL   Base url to use for tests.

Back to top

Using the Chrome Developer Console

Description

Allows direct interaction and inspection of the web app in real-time via the web browser’s console. This is helpful when debugging or writing tests because it allows you to see a list of DOM elements on each page of the web app along with their properties. For example while writing a test you will need to click buttons, interact with forms, verify properties, etc. In order to write such a test, you will need to reference elements by id, name, or some other identifiers. The fastest way to figure out how to reference an element is by navigating to the page of the web app where the test will start from using the browser, right clicking on elements and selecting “Inspect Element” from the context menu, then trying to reference the element through the Chrome Developer Console using the commands below.

Useful commands

$() Returns the first element that matches the CSS selector specified within the parantheses. It is a shortcut for document.querySelector() $$() Returns an array of all the elements that match the CSS selector specified within the parantheses. This is an alias for document.querySelectorAll() $x() Returns an array of elements that match the XPath specified within the parantheses.

Element query examples

$x("//span[text()='Guidebook']") Returns an array of span tag elements containing the text “Guidebook”. $("p.usm_name span").textContent Returns the text content of the first span tag element which is a child of a “p” element with class “usm_name”.

More info

Additional info regarding the Chrome Developer Console is available here.

Back to top

Code organization

selenium_unittest
├── webdrivers // selenium webdrivers for various browsers
|   ├── chromedriver // webdriver for Chrome
├── selenium_test_base.py // base selenium test class
├── selenium_test_manager.py // handles common server/driver setup/teardown
├── selenium_test_runner.py // receives command line arguments, then discovers and runs appium tests

Back to top

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

selenium_unittest-0.1.2.tar.gz (7.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page