P3: validate browser helper args before launching Chromium
This commit is contained in:
parent
c2de102bd6
commit
829739e5b4
|
|
@ -284,6 +284,18 @@ async function handle(req) {
|
|||
}
|
||||
|
||||
case "click": {
|
||||
if (
|
||||
!req.selector &&
|
||||
!req.role &&
|
||||
!req.text &&
|
||||
!req.label &&
|
||||
!req.placeholder
|
||||
) {
|
||||
return fail(
|
||||
id,
|
||||
"click requires selector, role(+name), text, label, or placeholder"
|
||||
);
|
||||
}
|
||||
const p = await ensurePage();
|
||||
const loc = await resolveLocator(p, req);
|
||||
await loc.click({ timeout: req.timeout_ms ?? 10000 });
|
||||
|
|
@ -292,9 +304,9 @@ async function handle(req) {
|
|||
}
|
||||
|
||||
case "type": {
|
||||
const p = await ensurePage();
|
||||
const text = req.text ?? req.value;
|
||||
if (text == null) return fail(id, "type: missing text");
|
||||
const p = await ensurePage();
|
||||
const loc = await resolveLocator(p, req);
|
||||
if (req.clear !== false) {
|
||||
await loc.fill(String(text), { timeout: req.timeout_ms ?? 10000 });
|
||||
|
|
@ -377,6 +389,7 @@ async function runSelfTest() {
|
|||
r = await handle({ id: "t4", op: "nope" });
|
||||
cases.push(["unknown_op", r.ok === false]);
|
||||
|
||||
await handle({ id: "t4b", op: "close" });
|
||||
r = await handle({ id: "t5", op: "status" });
|
||||
cases.push(["status", r.ok === true && r.browser_open === false]);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue