Skip to main content

RobotFramework library package for automated visual testing.

Project description

WatchUI

Documentation | Tesena | Pypi

Basic Info

Robot Framework visual testing library for visual difference testing as well as image content testing (including PDF documents). Runs on Selenium or Playwright to generate screenshots, PyMuPDF (supported version 1.19+) to process PDFs and Tesseract OCR to recognize text.

Project structure

WatchUI
└── .github/workflows           # All github actions definitions for CI
└── Img                         # Test and demo data
└── WatchUI                     # WatchUI library implementation
│    └── WatchUI.py             # Implementation file
└── tests                       # Tests and examples in Robot Framework
│    └── keywords               # More tests for keywords and definitions of variables
│    └── unit_test.robot        # Basic unit tests
└── README.MD                   # Here you are :-)
└── setup.py                    # File for easy setup use with pip install .

Install

For quick start use:

pip install WatchUI

For more details see our Documentation.

Sample results

Comparison of two screens where the differences are showed by red rectangles. In this example we ignored the dynamic boxes during comparison. These boxes were overlaid by black rectangles (the right on the pictures) .

The red rectangles outlining missing elements on compared screens. In this case pictures are completely different due to bot protection feature during retesting.

Development

  1. Clone this repository
  2. Create .venv python -m venv .venv
  3. Activate .venv
    • VS Code: Ctrl+Shift+P, select option Python: Select Interpreter
    • PyCharm: Ctrl+Alt+S, select Project | Python Interpreter.
  4. Install all required packages pip install -r requirements.txt
  5. Download chromedriver
  6. Install [tesseract] (https://tesena-smart-testing.github.io/WatchUI/start.html#install-tesseract) Note: In order to get test case within unit_test.robot working you have install also Czech language otherwise last test will be failing. Note2: Windows developer need to set up PATH in order to get all test passing OR set importing variabl default_tesseract_path with path where tesseract is installed.
  7. Run tests python -m robot tests/unit_test.robot or just robot tests/unit_test.robot

Note: If tesseract is not installed you can still use many features of WatchUI. Currently WatchUI need tesseract only if you need to use keywords: Image to string, Image area on text and Return text from area.

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

WatchUI-1.0.12.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

WatchUI-1.0.12-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file WatchUI-1.0.12.tar.gz.

File metadata

  • Download URL: WatchUI-1.0.12.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for WatchUI-1.0.12.tar.gz
Algorithm Hash digest
SHA256 4188760daca2aa9a2560b32a1ced1f6bb50f7a36ae152ace828aed09f010ce26
MD5 d8b57d45ec39188fadd561ceedf462cc
BLAKE2b-256 5365849d0182b03cf7f315f916ea7328c2c0761bf90efb98efc73474df00d21f

See more details on using hashes here.

File details

Details for the file WatchUI-1.0.12-py3-none-any.whl.

File metadata

  • Download URL: WatchUI-1.0.12-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for WatchUI-1.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 a116a48af927bb04aeb7417138d86eb9a5e4fa741d997ccb61de005950f59db4
MD5 3e9a4f749dff0dba1316f33f777a3d44
BLAKE2b-256 cb037575b3a56898f2fedb61d5bb42745f785a546f71c4ff31c2fd875d9a3317

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page