packages/insomnia-smoke-test/README.md
This project contains the smoke testing suite for Insomnia App.
To find more about Inso CLI smoke tests, check this document.
Prerequisites:
npm installTo run all tests:
npm run watch:app OR npm run devnpm run test:smoke:devTo run single tests:
npm run test:smoke:dev -- oauthnpm run test:dev -w insomnia-smoke-test -- --project=Smoke --ui to show all tests by projectIn order to run/debug tests directly from VS Code:
npm run watch:app.You can trigger tests from the Testing tab, or within the test files clicking the run button.
If no tests appear, you may need to run "Refresh playwright tests". This can be done from the command palette, or by using the button at the top of the Testing tab.
You can step through tests with playwright inspector: PWDEBUG=1 npm run test:smoke:dev
This is also useful to help create new tests.
We generate Playwright Traces when tests run. These can be used to debug local and CI test failures.
To open a local trace viewer for a given test output, run:
# Example:
npx playwright show-trace packages/insomnia-smoke-test/traces/app-can-send-requests/trace.zip
Alternatively you can upload this trace to trace.playwright.dev.
You can enable additional logging to help you debug tests:
DEBUG=pw:api npm run test:smoke:devDEBUG=pw:browser npm run test:smoke:devDEBUG=pw:WebServer npm run test:smoke:devTraces from CI execution can be found in the failed CI job's artifacts.
After downloading the artifacts, these can be extracted and loaded up into the Trace viewer.
It's possible to run the smoke tests for:
build, the JS bundle that is loaded into an electron clientpackage, the executable binary (e.g. .dmg or .exe)For build:
# Transpile js bundle
npm run app-build
# Run tests
npm run test:smoke:build
For package:
# Build executable in /packages/insomnia/dist
npm run app-package
# Run tests
npm run test:smoke:package
Note: for local testing of the packaged app on macOS you need to change the entitlements temporarily to allow unsigned apps to run. You can do this by changing the
com.apple.security.cs.disable-library-validationkey inentitlements.mac.inherit.plistfile totrue. (Remember do not commit to the origin repo!)
Each of the above commands will automatically run the Express server, so you do not need to take any extra steps.
Non recurring / non-CI tests, like pre-release ones, can be run using Playwright VS Code extension or by running test:dev against the desired test file:
npm run test:dev -w packages/insomnia-smoke-test -- preferences-interactions
The certs might need to be replaced after 2026 to fix the custom ca cert test
mkcert -install
mkcert localhost
mkcert -CAROOT