55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
|
|
#!/usr/bin/env tsx
|
||
|
|
import { createTestDriver } from "./test-driver-client";
|
||
|
|
|
||
|
|
const [action, selector, value] = process.argv.slice(2);
|
||
|
|
|
||
|
|
if (!action) {
|
||
|
|
console.log(`Usage:
|
||
|
|
test-driver snapshot
|
||
|
|
test-driver getText "h1"
|
||
|
|
test-driver count "button"
|
||
|
|
test-driver click "[data-tid='e1']"
|
||
|
|
test-driver fill "textarea" "hello"
|
||
|
|
test-driver keypress "textarea" Enter
|
||
|
|
test-driver waitForText "expected text"
|
||
|
|
test-driver scroll down|up|top|bottom
|
||
|
|
test-driver screenshot [output.png]`);
|
||
|
|
process.exit(0);
|
||
|
|
}
|
||
|
|
|
||
|
|
try {
|
||
|
|
const testDriver = await createTestDriver();
|
||
|
|
let result: string | number;
|
||
|
|
|
||
|
|
if (action === "screenshot") {
|
||
|
|
result = await testDriver.screenshot(
|
||
|
|
selector || `tests/app-e2e/screenshots/screenshot-${Date.now()}.png`,
|
||
|
|
);
|
||
|
|
} else if (action === "fill") {
|
||
|
|
result = await testDriver.fill(selector, value);
|
||
|
|
} else if (action === "keypress") {
|
||
|
|
result = await testDriver.keypress(selector, value);
|
||
|
|
} else if (action === "waitForText") {
|
||
|
|
result = await testDriver.waitForText(selector);
|
||
|
|
} else if (action === "scroll") {
|
||
|
|
result = await testDriver.scroll(selector);
|
||
|
|
} else if (action === "count") {
|
||
|
|
result = await testDriver.count(selector);
|
||
|
|
} else if (action === "click") {
|
||
|
|
result = await testDriver.click(selector);
|
||
|
|
} else if (action === "getText") {
|
||
|
|
result = await testDriver.getText(selector);
|
||
|
|
} else if (action === "snapshot") {
|
||
|
|
result = await testDriver.snapshot();
|
||
|
|
} else {
|
||
|
|
console.error(`Unknown action: ${action}`);
|
||
|
|
process.exit(1);
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log(result);
|
||
|
|
testDriver.close();
|
||
|
|
} catch (err) {
|
||
|
|
console.error("Error:", (err as Error).message);
|
||
|
|
process.exit(1);
|
||
|
|
}
|