Source code

Revision control

Copy as Markdown

Other Tools

TPS is a test automation framework for Firefox Sync. See
Quick Start (Recommended)
==========================
The easiest way to run TPS tests is using the `./mach tps-test` command with
automatic account creation:
./mach tps-test --testfile services/sync/tests/tps/test_sync.js \
--auto-account
This command:
- Automatically creates and verifies a test account via restmail.net
- Builds the TPS extension automatically
- Works directly with your Firefox build
- Automates OAuth authentication with real FxA credentials
- Tests real Sync functionality between multiple profiles
- Uses FxA staging server by default
Options:
--testfile Path to test file (e.g., services/sync/tests/tps/test_sync.js)
--auto-account Automatically create test account (recommended)
--username Firefox Account username (alternative to --auto-account)
--password Firefox Account password (required with --username)
--fxa-staging Use FxA staging server (default with --auto-account)
--fxa-production Use FxA production server (not recommended)
--binary Path to Firefox binary (default: uses your build)
--logfile Path to log file (default: tps.log)
--debug Enable debug logging
Run in headless mode with:
MOZ_HEADLESS=1 ./mach tps-test --testfile ... --auto-account
Setting Up (FxA) Test Accounts
========================
Automatic Account Creation (Recommended)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The simplest way to run TPS tests is with automatic account creation:
./mach tps-test --testfile services/sync/tests/tps/test_sync.js \
--auto-account
TPS will automatically:
1. Generate test credentials (random restmail.net address and password)
2. Create the account via FxA API inside Firefox
3. Verify the account via restmail.net (FxA requires email verification before
sign-in; the staging server does not support skipping this step)
4. Start an OAuth flow with the FxA server
5. Open the login page in a browser window
6. Fill in the credentials programmatically
7. Complete the OAuth handshake
8. Set up real Sync connections between test profiles
No manual account creation or verification needed.
Manual Account Setup (Alternative)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you prefer to use an existing account:
./mach tps-test --testfile services/sync/tests/tps/test_sync.js \
--username your-test@restmail.net \
--password your-password
Note: The account must already exist. You can create accounts manually at
Note: The staging server approach is recommended for testing to avoid using
production infrastructure. Accounts must be verified before TPS can use them.