Skip to main content

QA Touch reporter for Squish (Froglogic/Qt) - auto-creates modules, test cases and test runs from Squish native XML or JUnit XML result files.

Project description

squish-qatouch

QA Touch reporter for Squish (Froglogic / Qt Group) — pure Python, zero dependencies. Reads your Squish result file and automatically creates modules, test cases, milestones, and test runs in QA Touch.

Supported result formats

Format How to generate
Squish native XML squishrunner --reportgen xml,results.xml
JUnit XML squish2junit results/ junit.xml

Auto-detected at runtime — just point --results at the file.

Works with all Squish script languages

Python, JavaScript, Perl, Ruby, Tcl — the script language does not matter. squishrunner always produces the same XML format.

Installation

pip install squish-qatouch

Requires Python >= 3.10. No third-party dependencies.

Usage — CLI

# after squishrunner writes results.xml
squish-qatouch \
  --results   ./results/squish.xml \
  --domain    mycompany \
  --token     $QATOUCH_TOKEN \
  --project   PROJ \
  --assign    user-key \
  --milestone-name "Sprint 12"

Or via python -m:

python -m squish_qatouch --results results.xml --domain mycompany \
  --token $QATOUCH_TOKEN --project PROJ --assign user-key

Usage — Python API

from squish_qatouch import SquishQATouchReporter

reporter = SquishQATouchReporter(
    domain="mycompany",
    api_token="YOUR_TOKEN",
    project_key="PROJ",
    assign_to="user-key",
    results_file="./results/squish.xml",
    milestone_name="Sprint 12",   # created automatically if missing
    tag="squish",
)
reporter.run()

All options

Option CLI flag Default Description
domain --domain QA Touch domain
api_token --token QA Touch API token
project_key --project QA Touch project key
assign_to --assign User key to assign the run to
results_file --results Path to Squish XML or JUnit XML
testsuite_id --testsuite Pin all cases to one module key
milestone_name --milestone-name "Squish Automation" Milestone name
milestone_key --milestone-key Use existing milestone key directly
create_cases --no-create-cases True Auto-create missing test cases
tag --tag "squish" Tag on the test run

CI example (GitHub Actions)

- name: Run Squish tests
  run: |
    squishrunner --testsuite suite_MyApp --reportgen xml,results/squish.xml

- name: Set up Python
  uses: actions/setup-python@v5
  with:
    python-version: "3.12"

- name: Upload to QA Touch
  run: |
    pip install squish-qatouch
    squish-qatouch --results results/squish.xml \
      --domain mycompany --token ${{ secrets.QATOUCH_TOKEN }} \
      --project PROJ --assign user-key

Changelog

1.0.2

  • Fix: get_test_cases() pagination now uses deduplication instead of per_page-based stop condition. The API returns variable item counts per page, which caused pagination to stop at page 1 even when more pages existed.
  • Fix: module_key query parameter is silently ignored by the /getAllTestCases API. Filtering by module is now done client-side using item["module_key"].

License

ISC

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

squish_qatouch-1.0.2.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

squish_qatouch-1.0.2-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file squish_qatouch-1.0.2.tar.gz.

File metadata

  • Download URL: squish_qatouch-1.0.2.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for squish_qatouch-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c40662be45891041c126011b052301d2ee3c81e102e150af55fc1cde166cc7b5
MD5 1b815e18e317ece1592065d7da3c8dcf
BLAKE2b-256 c983eefd241b43cf2c91dd2f9f0b433bec5dad157323ce2ecee6f212c732b5c3

See more details on using hashes here.

File details

Details for the file squish_qatouch-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: squish_qatouch-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for squish_qatouch-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6442fe97c0b48cb6979d4d421f321e796db444c58646fd7f528976d7c0210b1
MD5 bf36c1a0afca3c4bf1c7990d91f51c4b
BLAKE2b-256 a6978353010b0e21857ceba0f9a170882f0427c1c223b8320aecaf996b2d98e7

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