Skip to main content

Simple TestCase assertion that finds element based on it's path and check if it equals with given content.

Project description

https://badge.fury.io/py/assert_element.svg https://codecov.io/gh/PetrDlouhy/assert_element/branch/master/graph/badge.svg https://github.com/PetrDlouhy/django-assert-element/actions/workflows/main.yml/badge.svg?event=registry_package

Simple TestCase assertion that finds element based on it’s path and check if it equals with given content.

This is more useful than the default Django AssertContains because it will find the element and show differences if something changed. The test also tries to ignore differences in whitespaces as much as possible.

Other similar projects

I released this package just to realize after few days, that there are some other very similar projects:

Documentation

The full documentation is at https://assert_element.readthedocs.io.

Quickstart

Install by:

pip install assert-element

Usage in tests:

from assert_element import AssertElementMixin

class MyTestCase(AssertElementMixin, TestCase):
    def test_something(self):
        response = self.client.get(address)
        self.assertElementContains(
            response,
            'div[id="my-div"]',
            '<div id="my-div">My div</div>',
        )

The first attribute can be response or content itself. Second attribute is the path to the element. Third attribute is the expected content.

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Development commands

pip install -r requirements_dev.txt
invoke -l

Credits

Tools used in rendering this package:

History

0.4.0 (2023-07-21)

  • more readable output when assertion fails

0.3.0 (2022-09-16)

  • more tolerance in whitespace differences

0.2.0 (2022-09-01)

  • first attribute can be response or content itself

0.1.0 (2022-08-21)

  • First release on PyPI.

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

assert_element-0.4.0.tar.gz (18.6 kB view hashes)

Uploaded Source

Built Distribution

assert_element-0.4.0-py2.py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 2 Python 3

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