Allgemeine Einführung
Shortest ist ein KI-gestütztes End-to-End-Testframework in natürlicher Sprache, das vom Anti-Work-Team entwickelt wurde. Es basiert auf Playwright und unterstützt die GitHub-Integration und Zwei-Faktor-Authentifizierung (2FA). Das Hauptmerkmal von Shortest ist das Schreiben von Testfällen in natürlicher Sprache und die Nutzung von Anthropic Claude API für KI-gesteuerte Testausführung. Das Framework wurde entwickelt, um den Testprozess zu rationalisieren, die Testeffizienz zu verbessern und es Entwicklern zu ermöglichen, Testfälle einfacher zu schreiben und zu pflegen.
Funktionsliste
- Schreiben von Tests in natürlicher SpracheDas Schreiben von Testfällen in natürlicher Sprache senkt die Schwelle zum Schreiben von Tests.
- KI-gesteuerte TestausführungKI-gesteuerte Testausführung mit einem hohen Automatisierungsgrad unter Verwendung der Anthropic Claude API.
- Basierend auf Playwright: Baut auf Playwright auf, um eine leistungsstarke Browser-Automatisierung zu ermöglichen.
- GitHub-IntegrationNahtlose Integration mit GitHub wird unterstützt, einschließlich Zwei-Faktor-Authentifizierung (2FA).
- E-Mail-ÜberprüfungE-Mail-Validierung über Mailosaur gewährleistet umfassende Tests.
- RückruffunktionUnterstützung für das Hinzufügen zusätzlicher Assertions und Logik mit Hilfe von Callback-Funktionen.
- Lebenszyklus-HakenLifecycle Hooks: Bietet Lifecycle Hooks, mit denen benutzerdefinierte Logik vor und nach der Testausführung ausgeführt werden kann.
Hilfe verwenden
Ablauf der Installation
- Installieren Sie Shortest mit npm, pnpm oder yarn:
npm install -D @antiwork/shortest
# oder
pnpm hinzufügen -D @antiwork/shortest
- Oberbefehlshaber (Militär)
.shortest/
hinzufügen.gitignore
um Screenshots und Caches von jedem Testlauf zu speichern:
echo ".shortest/" >> .gitignore
- Identifizieren Sie das Testportal und fügen Sie den Anthropic-API-Schlüssel in die Konfigurationsdatei ein:
// shortest.config.ts
import type { ShortestConfig } from "@antiwork/shortest";
export default {
shortestConfig: "@antiwork/shortest"; export default { headless: false,
baseUrl: "http://localhost:3000",
testPattern: "**/*.test.ts",
anthropicKey: process.env.ANTHROPIC_API_KEY, } erfüllt ShortestConfiguration.
} erfüllt ShortestConfig.
Verwendung Prozess
- Schreiben Sie Testfälle:
// app/__tests__/login.test.ts
importiere { shortest } von "@antiwork/shortest";
shortest("Anmelden bei der App mit E-Mail und Passwort", {
username: process.env.GITHUB_USERNAME, password: process.env.
Passwort: process.env.GITHUB_PASSWORD, }); shortest("Anmeldung bei der App mit E-Mail und Passwort", { username: process.env.
}).
- Verwenden Sie Callback-Funktionen, um zusätzliche Behauptungen und Logik hinzuzufügen:
import { shortest } from "@antiwork/shortest";
importieren { db } aus "@/lib/db/drizzle";
import { users } from "@/lib/db/schema";
shortest("Mit Benutzername und Passwort bei der App anmelden", {
username: process.env.USERNAME, password: process.env.
Passwort: process.env.PASSWORD, }).after(async).
}).after(async ({ Seite }) => {
const clerkId = await page.evaluate(() => {
return window.localStorage.getItem("clerk-user");
});
if (!clerkId) {
throw new Error("Benutzer nicht in Datenbank gefunden"); }
}
const [user] = await db
.select()
.from(benutzer)
.where(eq(users.clerkId, clerkId))
.limit(1); expect(user).toBeDefined()
expect(user).toBeDefined();
}).
Einsatzprüfung
- Führen Sie Tests mit npx, pnpm oder yarn aus:
npx kürzeste
# oder
pnpm kürzeste
# oder
Garn kürzeste
Detaillierte Funktionen
- Schreiben von Tests in natürlicher SpracheShortest ermöglicht es Benutzern, Testfälle in natürlicher Sprache zu schreiben, z. B. "Melden Sie sich bei der App an und verwenden Sie Ihre E-Mail und Ihr Passwort". Dieser Ansatz senkt die technische Hürde für das Schreiben von Tests und ermöglicht es auch technisch nicht versierten Personen, sich an der Testentwicklung zu beteiligen.
- KI-gesteuerte TestausführungShortest nutzt die Anthropic Claude API für KI-gesteuerte Testausführung, die Testfälle intelligent versteht und ausführt, um die Testautomatisierung und -genauigkeit zu verbessern.
- Basierend auf PlaywrightShortest basiert auf Playwright und bietet eine leistungsstarke Browser-Automatisierung mit Unterstützung für Tests über mehrere Browser und Geräte hinweg.
- GitHub-IntegrationShortest unterstützt die nahtlose Integration mit GitHub, einschließlich der Zwei-Faktor-Authentifizierung (2FA), um die Sicherheit und Zuverlässigkeit des Testprozesses zu gewährleisten.
- E-Mail-ÜberprüfungE-Mail-Validierung über Mailosaur gewährleistet umfassende und genaue Tests.
- RückruffunktionShortest unterstützt die Verwendung von Callback-Funktionen, um zusätzliche Assertions und Logik hinzuzufügen, so dass Benutzer weitere Validierungen und Manipulationen nach der Testausführung durchführen können.
- Lebenszyklus-HakenShortest bietet Lifecycle Hooks, mit denen Benutzer vor und nach der Testausführung benutzerdefinierte Logik ausführen können, z. B. das Einrichten der Testumgebung vor dem Test und das Bereinigen der Testdaten nach dem Test.