A Django template tag to enable testhook attributes on HTML elements.
About django-testhook
The django-testhook provides a template tag to generate data-testhook-id for HTML templates.
This can be useful for automated testing (for eg: Webdriver.IO) to maintain a fixed entry point, rather than having a automated test that breaks by just renaming a CSS class or an element which can require you to re-evaluate an XPath-selector.
Requirements
Django 1.8.x or greater, Python 2.7 or greater.
Installation
Install django-testhook with pip:
$ pip install django-testhook
Configuration
Configuring django-testhook
Add the following to your settings file:
INSTALLED_APPS += (
'testhook',
)
Available settings
By default the rendering of testhook data attributes is enabled. If you are in the scenario you want to disable it for a certain environment just configure it to False.
TESTHOOK_ENABLED = False
Usage
Basic usage
Within your HTML template you must load the testhook tag in order to use it. The testhook tag only requires a single argument in order to return a result.
{% load testhook %}
<div class="my-elem" {% testhook "test-elem" %}>
I want to test this
</div>
This will output to the following:
<div class="my-elem" data-testhook-id="test-elem">
I want to test this
</div>
Object Usage
For dynamic elements there is also the option to pass arguments. For eg: given I have a product in a shopping basket with a primary key and a slug I could use it like this:
<div class="item" {% testhook "basket" product.id product.slug %}>
{{ product.title }}
</div>
It will output to:
<div class="item" data-testhook-id="basket-1-product-slug">
A product title
</div>
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-testhook-1.0.2.tar.gz.
File metadata
- Download URL: django-testhook-1.0.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
946c01590431961ca6d65b2dc005c1df34f23d73cdb4e25c0bc57287859750f6
|
|
| MD5 |
5c41f2168e2212d1173f410c8b5a7419
|
|
| BLAKE2b-256 |
bf67050dad0b5cdb0034de7e2aba27d12ed68209137d37961e6075aea1baecf5
|