Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Beliagal/qa-report-automation/llms.txt

Use this file to discover all available pages before exploring further.

The Valoraclick QA Tool is distributed as a single Windows executable built with PyInstaller, allowing QA analysts to run it on any Windows machine without installing Python, pip, or any of the project’s dependencies. The current release is distributed as QA_Tool_v2.7.exe.

Prerequisites

Before building, make sure the following are in place on a Windows machine:
  • Python 3.13 or later installed and on the system PATH.
  • A virtual environment (.venv) created in the project root and activated.
  • All dependencies installed from requirements.txt, which includes pyinstaller==6.20.0 among other packages.
pip install -r requirements.txt

Build Steps

1

Activate the virtual environment

Open a terminal in the project root and activate the .venv:
.venv\Scripts\activate
Your prompt should show (.venv) to confirm the environment is active.
2

Run PyInstaller

Execute the following command to bundle the application into a single executable. The --windowed flag suppresses the console window, and --icon sets the application icon visible in File Explorer and the taskbar:
pyinstaller --onefile --windowed --icon=favicon.ico main.py
PyInstaller will analyse all imports, collect dependencies, and write the output to the dist/ folder. The build log will appear in the terminal — warnings about missing optional modules are normal and can be ignored.
3

Locate the built executable

Once the build completes, the standalone executable is at:
dist/main.exe
A build/ directory and a main.spec file are also created. These are intermediate artefacts used by PyInstaller and do not need to be distributed.
4

Rename and stage for distribution

Copy dist/main.exe to your distribution folder and rename it to match the release version:
copy dist\main.exe release\QA_Tool_v2.7.exe
The rename is purely cosmetic — the binary is identical regardless of filename.
5

Optionally bundle config.json

If you want end users to receive a pre-configured tester list, copy config.json into the same folder as the .exe:
copy config.json release\config.json
Place both files in the same directory so the application can locate config.json at startup once the tester-dropdown integration is wired up in a future release.

PyInstaller Flag Reference

FlagEffect
--onefileBundles all Python modules, dependencies, and assets into a single self-contained .exe. No separate folder of .dll or .pyd files is required.
--windowedInstructs PyInstaller to build a GUI executable that does not open a console (cmd) window when launched. Essential for CustomTkinter apps.
--icon=favicon.icoEmbeds favicon.ico as the application icon, displayed in File Explorer, the taskbar, and the Alt-Tab switcher.

The first launch of a --onefile build is noticeably slower than subsequent launches. On first run, PyInstaller extracts the bundled files to a temporary directory under %TEMP%. Once extracted, subsequent launches reuse that cache and start significantly faster.
PyInstaller produces executables for the operating system it is run on. You must build the .exe on a Windows machine — cross-compilation from macOS or Linux is not supported. The resulting binary will only run on Windows.
At runtime, TestingApp writes session state to a file called sesion_testing.json in the same directory as the .exe. Make sure the executable is placed in a folder where the current Windows user has write permissions (e.g. Documents or Desktop). Placing it directly under C:\Program Files\ will prevent session persistence without administrator rights.

Build docs developers (and LLMs) love