testdriver:secrets
SkillDev toolsSecurely manage passwords and sensitive data in your tests
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the testdriver:secrets skill
What this skill tells your AI
The instructions your AI receives, as published by testdriverai/testdriverai in ai/skills/testdriver-secrets/SKILL.md and read by ahel’s review.
Protect sensitive information like passwords, API keys, and tokens in your TestDriver tests.
Typing Secrets Securely
When typing sensitive information like passwords, use the secret: true option to prevent the value from being logged or stored:
import { test } from 'vitest';
import { chrome } from 'testdriverai/presets';
test('login with secure password', async (context) => {
const { testdriver } = await chrome(context, {
url: 'https://myapp.com/login'
});
await testdriver.find('email input').click();
await testdriver.type(process.env.TD_USERNAME);
await testdriver.find('password input').click();
// Password is masked in logs and recordings
await testdriver.type(process.env.TD_PASSWORD, { secret: true });
await testdriver.find('login button').click();
await testdriver.assert('dashboard is visible');
});
Storing Secrets in GitHub
Store sensitive credentials as GitHub repository secrets so they're never exposed in your code:
Local Development
For local development, store secrets in a .env file:
TD_API_KEY=your_api_key_here
TD_USERNAME=testuser@example.com
TD_PASSWORD=your_secure_password
Complete Example
Here's a full login test with proper secrets handling:
import { test, expect } from 'vitest';
import { chrome } from 'testdriverai/presets';
test('secure login flow', async (context) => {
const { testdriver } = await chrome(context, {
url: process.env.TD_WEBSITE || 'https://staging.myapp.com'
});
// Enter username (not sensitive)
await testdriver.find('email input').click();
await testdriver.type(process.env.TD_USERNAME);
// Enter password securely
await testdriver.find('password input').click();
await testdriver.type(process.env.TD_PASSWORD, { secret: true });
// Submit login
await testdriver.find('login button').click();
// Verify successful login
const loggedIn = await testdriver.assert('user is logged in');
expect(loggedIn).toBeTruthy();
});
Signals
- GitHub stars
- 242
- Forks
- 35
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
testdriver-secrets- Source
- github.com/testdriverai/testdriverai