tapsmith
v0.3.1
Published
Mobile app testing framework — TypeScript SDK and test runner
Maintainers
Readme
Tapsmith
Mobile app testing framework with a Playwright-inspired API for Android and iOS.
import { test, expect } from "tapsmith";
test("app launches and shows welcome screen", async ({ device }) => {
await expect(device.getByText("Welcome")).toBeVisible();
});
test("can navigate to settings", async ({ device }) => {
await device.getByRole("button", { name: "Settings" }).tap();
await expect(device.getByText("Settings")).toBeVisible();
});Features
- Playwright-style locators --
getByText(),getByRole(),getByContentDesc(), and more - Auto-waiting assertions --
toBeVisible(),toBeChecked(),toHaveText()poll until the condition is met - Android and iOS -- same API, same test files, both platforms
- Parallel execution -- multi-device test runs with automatic emulator/simulator provisioning
- Trace viewer -- timeline of screenshots, actions, and logs for debugging failures
- Network capture -- record and assert on HTTP/HTTPS traffic
- CI-ready -- run headless on GitHub Actions, CircleCI, or any CI with device access
Quick Start
npm install tapsmith
npx tapsmith init
npx tapsmith testThe init wizard detects your environment, walks through platform configuration, and generates your config file and an example test.
Documentation
License
Apache-2.0
