An extension for the BehaveX library that enables attaching images to the generated HTML report.
pip install behavex-images
- Attach images to BehaveX HTML reports
- Support for both binary image data and image files
- Flexible attachment conditions (always, only on failure, or never)
- Easy integration with existing BehaveX projects
The behavex-images
library provides four main methods for managing image attachments in BehaveX HTML reports:
from behavex_images import image_attachments
image_attachments.attach_image_binary(context, image_binary)
context
: The BehaveX context objectimage_binary
: Binary data of the image (JPG or PNG)
from behavex_images import image_attachments
image_attachments.attach_image_file(context, file_path)
context
: The BehaveX context objectfile_path
: Absolute path to the image file (JPG or PNG)
from behavex_images import image_attachments
from behavex_images.image_attachments import AttachmentsCondition
image_attachments.set_attachments_condition(context, condition)
context
: The BehaveX context objectcondition
: One of the followingAttachmentsCondition
values:ALWAYS
: Attach images to every reportONLY_ON_FAILURE
: Attach images only when a test fails (default)NEVER
: Do not attach any images
from behavex_images import image_attachments
image_attachments.clean_all_attached_images(context)
context
: The BehaveX context object
from behavex_images import image_attachments
@given('I take a screenshot of the current page')
def step_impl(context):
image_attachments.attach_image_file(context, 'path/to/screenshot.png')
from behavex_images import image_attachments
from behavex_images.image_attachments import AttachmentsCondition
def before_all(context):
image_attachments.set_attachments_condition(context, AttachmentsCondition.ONLY_ON_FAILURE)
def after_step(context, step):
# Assuming you're using Selenium WebDriver
image_attachments.attach_image_binary(context, context.driver.get_screenshot_as_png())
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.