本文へ移動
cccskills
無料GitHub で公開

testdriver:variables

Use dynamic data and secure secrets in your tests

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<!-- Generated from variables.mdx. DO NOT EDIT. -->

Make your tests larger with dynamic data and secure secrets. Select the correct method for your test needs.

Environment Variables

Use environment variables for configuration that changes between environments (dev, staging, production). Also use them for secrets that you must not commit to the code. Use this method when you must run the same tests against different servers or with different credentials.

import { test } from 'vitest';
import { chrome } from 'testdriverai/presets';

test('multi-environment testing', async (context) => {
  const env = process.env.TEST_ENV || 'staging';
  const urls = {
    dev: 'https://dev.myapp.com',
    staging: 'https://staging.myapp.com',
    production: 'https://myapp.com'
  };

  const { testdriver } = await chrome(context, { 
    url: urls[env] 
  });

  await testdriver.assert('app is running');
});
# Run against different environments
TEST_ENV=dev vitest run
TEST_ENV=staging vitest run
TEST_ENV=production vitest run

Test Fixtures

Test fixtures work best when you have structured, reusable test data that needs to be shared across multiple tests. Use fixtures when testing different user roles, product catalogs, or any scenario where you want to parameterize tests with a known set of data.

export const testUsers = [
  { email: 'admin@test.com', role: 'admin' },
  { email: 'user@test.com', role: 'user' },
  { email: 'guest@test.com', role: 'guest' }
];

export const products = [
  { name: 'Laptop', price: 999 },
  { name: 'Mouse', price: 29 },
  { name: 'Keyboard', price: 89 }
];
import { test } from 'vitest';
import { chrome } from 'testdriverai/presets';
import { testUsers } from './fixtures/users.js';

test.each(testUsers)('$role can access dashboard', async ({ email, role }, context) => {
  const { testdriver } = await chrome(context, { url });
  
  await testdriver.find('email input').type(email);
  await testdriver.find('password input').type('password123');
  await testdriver.find('login button').click();
  
  if (role === 'admin') {
    await testdriver.assert('admin panel is visible');
  } else {
    await testdriver.assert('user dashboard is visible');
  }
});

Dynamic Data Generation

Dynamic data generation is perfect for creating unique test data on each run, avoiding conflicts with existing records, and testing edge cases with realistic data. Use libraries like Faker when you need fresh emails, names, or other data that won't collide with previous test runs.

import { test } from 'vitest';
import { chrome } from 'testdriverai/presets';
import { faker } from '@faker-js/faker';

test('user registration with dynamic data', async (context) => {
  const { testdriver } = await chrome(context, { url });

  // Generate unique test data for each run
  const userData = {
    firstName: faker.person.firstName(),
    lastName: faker.person.lastName(),
    email: faker.internet.email(),
    password: faker.internet.password({ length: 12 })
  };

  await testdriver.find('first name input').type(userData.firstName);
  await testdriver.find('last name input').type(userData.lastName);
  await testdriver.find('email input').type(userData.email);
  await testdriver.find('password input').type(userData.password);
  await testdriver.find('register button').click();

  await testdriver.assert('registration successful');
  console.log('Registered user:', userData.email);
});
npm install --save-dev @faker-js/faker

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

How the TestDriver agent behaves on GitHub issues, pull requests, and @mentions

日本語の概要は準備中です。原文の説明を表示しています。

testdriverai/testdriverai2432026年9月21日 更新

Execute natural language tasks using AI

日本語の概要は準備中です。原文の説明を表示しています。

testdriverai/testdriverai2432026年9月21日 更新

Make AI-powered assertions about screen state

日本語の概要は準備中です。原文の説明を表示しています。

testdriverai/testdriverai2432026年9月21日 更新

Deploy TestDriver on your AWS infrastructure using CloudFormation

日本語の概要は準備中です。原文の説明を表示しています。

testdriverai/testdriverai2432026年9月21日 更新

Speed up tests with screenshot-based caching

日本語の概要は準備中です。原文の説明を表示しています。

testdriverai/testdriverai2432026年9月21日 更新

How TestDriver learns your app and caches what it discovers for instant, deterministic replays

日本語の概要は準備中です。原文の説明を表示しています。

testdriverai/testdriverai2432026年9月21日 更新

testdriverai のスキルをすべて見る

このスキルの問題を報告する