Skip to main content

Lightweight API around Selenium Webdriver for end to end testing with Django.

Project description

Lightweight API around Selenium Webdriver and helpers for end to end testing with Django.

This package is alpha, the API will most likely change!

Usage

You can use use this package outside of Django however it has limited use.

Essentially there are two components, as follows;

  • Ghostly - A lightweight wrapper and helper methods for Selenium Webdriver. Presently it provides a handful of methods that utilise xpath to deal with a page, such as xpath, xpath_wait et al.

  • GhostlyDjangoTestCase - A lightweight test case that extends StaticLiveServerTestCase and sets up an instance of Ghostly. It provides methods such as assertCurrentUrl, assertXpathEqual et al.

GhostlyDjangoTestCase

GhostlyDjangoTestCase inherits StaticLiveServerTestCase and thus fires up a WSGI server that handles requests.

Given you have a named URL home with a <h1>Hello World</h1> visible in the source, you can do the following;

class MyTestCase(GhostlyDjangoTestCase):

    def test_homepage(self):
        self.goto(reverse('home'))

        # Assert that an element is equal to something
        self.assertXpathEqual('//h1', 'Hello World')

        # Assert the current url, relative or absolute
        self.assertCurrentUrl('/home')

Working with SVG

To traverse SVG with Selenium web driver you must use xpath.

class MyTestCase(GhostlyDjangoTestCase):

    def test_homepage(self):
        self.goto(reverse('home'))

        # Click on an element, or example, in an SVG.
        self.ghostly.xpath_click('//*[@id="refresh"]')

        # Assert that an Xpath is equal to something
        self.assertXpathEqual('//h2', 'Hello World')

History

This package started out as a simple way to construct browser tests using YAML, written by Brenton Cleeland.

The focus of this fork is to allow the developer to write programmatic unit tests in the style of unittest.

Currently this fork does not contain any of the CSS selector style methods that were originally available as the focus has been on xpath only support until a more robust CSS selector toolkit can be provided.

License

This software is licensed under the MIT License. See the LICENSE file in the top distribution directory for the full license text.

Author

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ghostly-0.2.0.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file ghostly-0.2.0.tar.gz.

File metadata

  • Download URL: ghostly-0.2.0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ghostly-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e041ae5dfb22e9ee775818ecae3fde5d72ea8c416550620ad3bf3159dac7cd01
MD5 6a35f4e19d60af276c08f0198dc0fba7
BLAKE2b-256 763b2642b87137beb57fe039e6be4529c3fe979368f1a957fd6c56bc9edcab03

See more details on using hashes here.

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