CC-Testframework
TypeScript-based test framework with built-in conventions for Web, Desktop, and Mobile.
What is CC-Testframework?
CC-Testframework is an end-to-end testing framework for Web, Desktop, and Mobile applications. It builds on Playwright for Web and Appium for Desktop and Mobile — but that’s just the foundation. On top of it you get:
- A three-layer file structure that separates the framework, your app-specific helpers, and your test cases
- Pre-built routines for the most common actions (clicks, form-fills, dialog handling, file/PDF utilities, OTP, credential management)
- An AI Agent for test authoring — describe what you want in plain language, the agent generates test steps that fit your project’s conventions
- Self-healing locators — when the UI changes and a selector breaks, the framework recovers automatically and writes the fix back into your code
- A visual Inspector — pick elements across Web, Desktop, and Mobile through a browser UI; the framework turns them into ready-to-use locators
- Bilingual step descriptions — tests can be authored once and shown to testers in the language they read best
- A stable public API with semver-disciplined releases via npm + GitHub Packages
You scaffold a self-contained pm/ project with a single command, install its dependencies, and start writing test cases against your application — your repo’s outer root stays untouched.
Who is this for?
CC-Testframework is built for teams that want to spend their time on what to test — not on how to build the infrastructure around it. You’ll feel right at home if:
- Your team is starting a new E2E test suite and wants a proven foundation instead of a green-field scaffolding project
- Your team is already running Playwright and finds itself re-inventing the same patterns across projects (folder structure, action helpers, assertions, wait strategies)
- You’re evaluating cross-platform testing — Web plus Desktop plus Mobile — and want one consistent stack instead of three separate frameworks
- You want a productive path for your manual testers too — they can describe what they need in words, and the AI Agent turns those descriptions into working code
Newcomers get productive quickly through the templates and the Quickstart. Experienced testers benefit from API consistency across projects.
What makes it different?
The value shows up in how much less friction you experience day-to-day compared to a hand-built Playwright wrapper.
- From install to first green test in under an hour — templates, config, and a working example app come pre-wired; no framework-scaffolding week required
- Tests that survive UI changes — self-healing catches broken selectors, proposes a fix, and (opt-in) writes it back so it persists across runs; less time firefighting flaky suites after each frontend release
- AI writes conformant code, not soup — the built-in agent generates test steps that automatically follow your project’s naming, signature, and locator conventions; reviews are shorter because there is no style drift to clean up
- One stack, three platforms — the same conventions, API surface, and reporting apply to Web, Desktop, and Mobile; onboarding a new tester means learning the framework once
- Predictable evolution — semver-disciplined releases with a bilingual changelog and an established migration story; upgrades are boring, which is exactly what you want from your test infrastructure
- Reviewable by design — three-layer file structure and enforced conventions keep PR reviews focused on business logic instead of style debates
You stay on well-known foundations (Playwright, Appium) — the framework adds a consistent, opinionated layer on top without locking you out of the underlying tools.
Where to start
The rows below follow the natural path from a fresh install to a green business-flow test:
| If you want to … | Go to |
|---|---|
| Install and verify your environment in 15 minutes | Quickstart |
| Understand the three-layer structure | Concepts |
| Register your Application-Under-Test with one CLI command | Scaffold a New App |
| Manual registration, Electron, Mobile, or wiring in a hand-built App | Add a New App — full guide |
| Model screen elements as Controls | Add Controls |
| Compose tester-facing TestSteps | Build TestSteps |
| Learn the step-naming and re-export conventions and compose a TestCase | Writing Your First TestCase |
| Run a test and debug a failure | Run and Debug |
| Leave the AUT open between runs while debugging | Persistent Debug Session |
| Set up automatic locator repair | Self-Healing Locators |
| Run your TestCases in a CI pipeline | CI Integration |
| Write a test step that isn’t automated yet | Custom Steps |
| Understand the file/naming conventions the pre-commit hook checks | Skeleton Conventions |
| Show step descriptions in a tester’s own language | Step-Description Localization |
| Store API keys, test-account passwords, and other secrets securely | Credential Management |
| Read a stored test-account password inside a TestCase | Credential Management — TS_GetPassword |
| Interact with files, shell, registry, and system info | OS App |
| Transfer files over SFTP or FTP/FTPS | FTP App |
| Verify a signup mail, OTP, or confirmation link | Email App |
| Run a ready-made TestCase against a shipped example app | Demo Web App |
| Troubleshoot setup issues | FAQ |
| Browse the curated API | API Reference |
💡 Upgrading from before v0.22.0? The OS, FTP, and Utilities Apps’ TestSteps dropped their leading
refId/pageLogName/sectionNamearguments — see the migration notes in OS App, FTP App, and Credential Management.
💡 Upgrading from before v0.24.0? The scaffolded project layout moved under a single
pm/folder, with three folders renumbered and reference screenshots relocated — see Concepts — Migrating to v0.24.0.
💡 Upgrading from before v0.25.0?
pm/became a self-contained npm project —package.json,tsconfig.json,playwright.config.ts, and.npmrcmoved from your repo’s outer root intopm/itself, andnpm install/npx playwright testnow run from insidepm/— see Concepts — Migrating to v0.25.0.
License and commercial use
CC-Testframework is licensed under the Open Code License by itsbusiness AG. After acquiring a license, the licensee may install, use, modify the source code for internal use, and integrate it into their own products — but not redistribute or develop a competing product. Full terms in the LICENSE file shipped with each release.
For license inquiries, pricing, or commercial support: 📧 sales@itsbusiness.ch
itsbusiness AG · Bern · Switzerland