Metadata-Version: 2.4
Name: robotframework-marka
Version: 0.1.0
Summary: Marka: persistent highlights and screenshot annotations for Selenium.
License-Expression: MIT
License-File: LICENSE
Author: Angel Gerardo Molina Valdez
Author-email: angelgerardomolinavaldez@gmail.com
Requires-Python: >=3.10
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Robot Framework
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Testing
Provides-Extra: dev
Provides-Extra: robot
Requires-Dist: mkdocs-git-revision-date-localized-plugin (>=1.5,<2) ; extra == "dev"
Requires-Dist: mkdocs-material (>=9.7,<10) ; extra == "dev"
Requires-Dist: pygments (>=2.19,<3) ; extra == "dev"
Requires-Dist: pytest (>=8,<10) ; extra == "dev"
Requires-Dist: pytest-cov (>=6,<8) ; extra == "dev"
Requires-Dist: robotframework (>=7,<8) ; extra == "robot"
Requires-Dist: robotframework-seleniumlibrary (>=6.7,<7) ; extra == "robot"
Requires-Dist: ruff (>=0.15,<0.16) ; extra == "dev"
Requires-Dist: selenium (>=4.20,<5)
Requires-Dist: twine (>=6,<7) ; extra == "dev"
Project-URL: Homepage, https://angel-valdezzz.github.io/robotframework-marka/
Project-URL: Issues, https://github.com/angel-valdezzz/robotframework-marka/issues
Project-URL: Repository, https://github.com/angel-valdezzz/robotframework-marka
Description-Content-Type: text/markdown

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/angel-valdezzz/robotframework-marka/main/docs/assets/wordmark-dark.svg">
  <img src="https://raw.githubusercontent.com/angel-valdezzz/robotframework-marka/main/docs/assets/wordmark-light.svg" alt="Marka" width="360">
</picture>

# Marka

Persistent browser highlights, numbered dots, labels and notes for explanatory screenshots.

[![CI](https://github.com/angel-valdezzz/robotframework-marka/actions/workflows/ci.yml/badge.svg)](https://github.com/angel-valdezzz/robotframework-marka/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/robotframework-marka)](https://pypi.org/project/robotframework-marka/)
![Python](https://img.shields.io/badge/python-3.10%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)

[User guide](https://angel-valdezzz.github.io/robotframework-marka/) · [Guía en español](https://angel-valdezzz.github.io/robotframework-marka/es/) · [Keyword reference ↗](https://angel-valdezzz.github.io/robotframework-marka/keywords/index.html) · [Live examples](https://angel-valdezzz.github.io/robotframework-marka/examples/) · [PyPI](https://pypi.org/project/robotframework-marka/)

## Install

```bash
pip install "robotframework-marka[robot]"
```

Python users can install `robotframework-marka` without the Robot adapter dependencies.

## Annotate your existing browser

```robotframework
*** Settings ***
Library    SeleniumLibrary
Library    Marka

*** Test Cases ***
Show Changes
    Highlight Element    id:email    color=coral    background=rgba(240,100,69,0.12)    group=profile
    Add Dot    id:email    text=1    position=left    group=profile
    Add Note    id:save    text=Save changes    position=right    group=profile
    Capture Annotated Screenshot    ${OUTPUT DIR}/changes.png
```

```python
from marka import Annotator
from selenium.webdriver.common.by import By

# driver is your existing Selenium WebDriver.
marks = Annotator(driver)
email = driver.find_element(By.ID, "email")
marks.add(email, color="coral", background="rgba(240,100,69,0.12)")
marks.add(email, kind="dot", text="1", color="#FFBF47", position="left")
marks.capture("output/changes.png")  # clears marks by default
```


## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md), [CHANGELOG.md](CHANGELOG.md), and the [development guide](https://angel-valdezzz.github.io/robotframework-marka/development/).

