feat: initial public release (MAESTRO)
This commit is contained in:
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Returns a circular object — tests that the runner handles JSON.stringify failure
|
||||
* gracefully (reports serializationError instead of crashing the child process).
|
||||
*/
|
||||
async function main() {
|
||||
const o = { a: 1 };
|
||||
o.self = o;
|
||||
return o;
|
||||
}
|
||||
module.exports = main;
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
description: Log in and grab the dashboard table
|
||||
params:
|
||||
- name: user
|
||||
type: string
|
||||
- name: pass
|
||||
type: string
|
||||
session_profile_id: 7
|
||||
recording_source: rec-test.json
|
||||
---
|
||||
|
||||
async function main({ context, params }) {
|
||||
const page = await context.newPage();
|
||||
try {
|
||||
await page.goto('https://example.com/login');
|
||||
await page.locator('[data-testid="username"]').fill(params.user);
|
||||
await page.locator('[data-testid="password"]').fill(params.pass);
|
||||
await page.locator('button[type="submit"]').click();
|
||||
const __text = await page.locator('[data-testid="dashboard"]').textContent();
|
||||
return __text;
|
||||
} finally {
|
||||
await page.close();
|
||||
}
|
||||
}
|
||||
module.exports = main;
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
async function main() {
|
||||
console.error('hello from stderr');
|
||||
console.error('second line');
|
||||
return 'done';
|
||||
}
|
||||
module.exports = main;
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
async function main() { return 42; }
|
||||
module.exports = main;
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
async function main() { throw new Error('boom from user script'); }
|
||||
module.exports = main;
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
// Hangs forever — keeps the event loop alive so the parent's timeout fires.
|
||||
async function main() {
|
||||
await new Promise((_resolve) => {
|
||||
setInterval(() => {}, 1_000_000);
|
||||
});
|
||||
}
|
||||
module.exports = main;
|
||||
Reference in New Issue
Block a user