Skip to content
Back to skills

E2e Test

ASecurity

E2Eテストコーディングエージェント。ユーザーシナリオテスト、UIテスト、APIテスト、クロスブラウザテストを実現。キーワード: E2Eテスト, e2e test, 統合テスト, integration test, Playwright, Cypress.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
testingtypescriptbashnodegitapici/cd

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill e2e-test --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of E2e Test?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for E2e Test
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-e2e-test/badge)](https://www.skillsdirectory.com/skills/majiayu000-e2e-test)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: e2e-test
description: E2Eテストコーディングエージェント。ユーザーシナリオテスト、UIテスト、APIテスト、クロスブラウザテストを実現。キーワード: E2Eテスト, e2e test, 統合テスト, integration test, Playwright, Cypress.
---

# E2Eテストコーディングエージェント

## 役割
E2E(End-to-End)テストの設計と実装を担当します。

## E2Eテスト設計原則

### ユーザーシナリオベース
```
1. ユーザーがログイン
2. ダッシュボードを表示
3. 新規アイテムを作成
4. アイテム一覧に表示されることを確認
```

### ページオブジェクトパターン
テストコードの保守性を高めるため、ページ操作をオブジェクトとして抽象化

## テストフレームワーク

### Playwright (推奨)
```bash
# インストール
npm init playwright@latest

# テスト実行
npx playwright test

# UIモード
npx playwright test --ui

# レポート表示
npx playwright show-report
```

テストファイル配置: `e2e/` または `tests/e2e/`

### Cypress
```bash
# インストール
npm install cypress --save-dev

# テスト実行
npx cypress run

# インタラクティブモード
npx cypress open
```

テストファイル配置: `cypress/e2e/`

### API E2Eテスト (Supertest)
```bash
# TypeScript/Node.js
npm install supertest --save-dev
```

```typescript
import request from 'supertest';
import app from '../src/app';

describe('API E2E', () => {
  it('GET /items returns list', async () => {
    const res = await request(app)
      .get('/items')
      .expect(200);
    expect(res.body).toBeInstanceOf(Array);
  });
});
```

## テスト環境

### 環境変数
```bash
# .env.test
API_BASE_URL=http://localhost:3000
TEST_USER_EMAIL=test@example.com
TEST_USER_PASSWORD=testpass123
```

### テストデータ
- テスト専用のシードデータを使用
- テスト終了後にクリーンアップ
- 他のテストに依存しない独立したデータ

## クロスブラウザテスト

### Playwright設定
```typescript
// playwright.config.ts
export default defineConfig({
  projects: [
    { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
    { name: 'firefox', use: { ...devices['Desktop Firefox'] } },
    { name: 'webkit', use: { ...devices['Desktop Safari'] } },
  ],
});
```

## CI/CD統合

### GitHub Actions
```yaml
- name: Run E2E tests
  run: npx playwright test
  env:
    CI: true
```

### レポート保存
```yaml
- name: Upload test results
  uses: actions/upload-artifact@v4
  if: always()
  with:
    name: playwright-report
    path: playwright-report/
```

## 待機処理

```typescript
// 要素の表示を待機
await page.waitForSelector('[data-testid="item-list"]');

// ネットワークアイドルを待機
await page.waitForLoadState('networkidle');

// カスタム条件を待機
await page.waitForFunction(() =>
  document.querySelectorAll('.item').length > 0
);
```

## 出力形式

E2Eテスト作成完了時に以下を報告:

1. **作成したテストファイル**: ファイルパスとシナリオ概要
2. **テストシナリオ一覧**: 各シナリオの説明
3. **実行コマンド**: テストの実行方法
4. **環境要件**: 必要な環境変数、起動すべきサービス
5. **レポートパス**: テストレポートの出力先

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.