はじめに
Shortestは、Anti-Workチームによって開発されたAI搭載の自然言語エンドツーエンドテストフレームワークである。Playwrightをベースに構築されており、GitHubとの統合や二要素認証(2FA)をサポートしている。Shortestの主な特徴は、自然言語を使ってテストケースを記述し、Anthropicを利用することである。 クロード AIによるテスト実行のためのAPI。このフレームワークは、テストプロセスを合理化し、テスト効率を向上させ、開発者がテストケースをより簡単に作成・保守できるように設計されている。
機能一覧
- 自然言語テスト作成自然言語でテストケースを書くことで、テストを書く敷居が低くなる。
- AIによるテスト実行Anthropic Claude APIを使用し、高度に自動化されたAI主導のテスト実行。
- 原作者Playwrightの上に構築され、強力なブラウザ自動化を提供します。
- GitHubとの統合GitHubとのシームレスな統合をサポートし、2要素認証(2FA)も可能です。
- メール認証Mailosaur によるメール検証は、包括的なテストを保証します。
- コールバック関数コールバック関数を使用したアサーションとロジックの追加をサポート。
- ライフサイクルフックテスト実行の前後にカスタムロジックを実行できるライフサイクルフックを提供します。
ヘルプの使用
設置プロセス
- npm、pnpm、またはyarnを使用してShortestをインストールします:
npm install -D @antiwork/shortest
# 或者
pnpm add -D @antiwork/shortest
- そうしれいかん
.shortest/
追加する.gitignore
各テスト実行のスクリーンショットとキャッシュを保存するためである:
echo ".shortest/" >> .gitignore
- テストポータルを特定し、Anthropic API キーを設定ファイルに追加します:
// shortest.config.ts
import type { ShortestConfig } from "@antiwork/shortest";
export default {
headless: false,
baseUrl: "http://localhost:3000",
testPattern: "**/*.test.ts",
anthropicKey: process.env.ANTHROPIC_API_KEY,
} satisfies ShortestConfig;
使用プロセス
- テストケースを書く:
// app/__tests__/login.test.ts
import { shortest } from "@antiwork/shortest";
shortest("Login to the app using email and password", {
username: process.env.GITHUB_USERNAME,
password: process.env.GITHUB_PASSWORD,
});
- コールバック関数を使用して、アサーションやロジックを追加します:
import { shortest } from "@antiwork/shortest";
import { db } from "@/lib/db/drizzle";
import { users } from "@/lib/db/schema";
import { eq } from "drizzle-orm";
shortest("Login to the app using username and password", {
username: process.env.USERNAME,
password: process.env.PASSWORD,
}).after(async ({ page }) => {
const clerkId = await page.evaluate(() => {
return window.localStorage.getItem("clerk-user");
});
if (!clerkId) {
throw new Error("User not found in database");
}
const [user] = await db
.select()
.from(users)
.where(eq(users.clerkId, clerkId))
.limit(1);
expect(user).toBeDefined();
});
動作試験
- npx、pnpm、yarnを使ってテストを実行する:
npx shortest
# 或者
pnpm shortest
# 或者
yarn shortest
詳細機能
- 自然言語テスト作成Shortestでは、「アプリにログインし、電子メールとパスワードを使用する」といった自然言語を使ってテストケースを記述することができます。このアプローチにより、テストを書くための技術的な障壁が低くなり、技術者でない人もテスト作成に参加できるようになる。
- AIによるテスト実行Shortestは、AI主導のテスト実行のためのAnthropic Claude APIを活用し、テストケースをインテリジェントに理解して実行することで、テストの自動化と精度を向上させます。
- 原作者ShortestはPlaywrightをベースに構築されており、複数のブラウザやデバイスにまたがるテストをサポートし、強力なブラウザ自動化を提供します。
- GitHubとの統合Shortestは、二要素認証(2FA)を含むGitHubとのシームレスな統合をサポートしており、テストプロセスのセキュリティと信頼性を保証します。
- メール認証Mailosaurによるメール検証は、包括的で正確なテストを保証します。
- コールバック関数Shortest では、コールバック関数を使用してアサーションやロジックを追加できるため、テスト実行後にさらなる検証や操作を行うことができます。
- ライフサイクルフックShortestは、ライフサイクルフックを提供しており、ユーザーは、テスト前にテスト環境を設定したり、テスト後にテストデータをクリーンアップしたりするなど、テスト実行の前後にカスタムロジックを実行することができます。