diff --git a/.changeset/swift-jokes-write.md b/.changeset/swift-jokes-write.md new file mode 100644 index 000000000..d8c3a0cea --- /dev/null +++ b/.changeset/swift-jokes-write.md @@ -0,0 +1,5 @@ +--- +"@browserbasehq/stagehand": patch +--- + +improved handling for OS level dropdowns diff --git a/evals/evals.config.json b/evals/evals.config.json index 9d8fb3ae4..a26fa1839 100644 --- a/evals/evals.config.json +++ b/evals/evals.config.json @@ -382,6 +382,18 @@ { "name": "shadow_dom", "categories": ["act"] + }, + { + "name": "os_dropdown", + "categories": ["act"] + }, + { + "name": "custom_dropdown", + "categories": ["act"] + }, + { + "name": "hidden_input_dropdown", + "categories": ["act"] } ] } diff --git a/evals/tasks/custom_dropdown.ts b/evals/tasks/custom_dropdown.ts new file mode 100644 index 000000000..f500fd757 --- /dev/null +++ b/evals/tasks/custom_dropdown.ts @@ -0,0 +1,60 @@ +import { EvalFunction } from "@/types/evals"; + +export const custom_dropdown: EvalFunction = async ({ + debugUrl, + sessionUrl, + stagehand, + logger, +}) => { + /** + * This eval is meant to test whether we do not incorrectly attempt + * the selectOptionFromDropdown method (defined in actHandlerUtils.ts) on a + * 'dropdown' that is not a