diff --git a/src/actions.ts b/src/actions.ts index c7a626c9..fcdb8230 100644 --- a/src/actions.ts +++ b/src/actions.ts @@ -826,14 +826,23 @@ async function handleUncheck(command: UncheckCommand, browser: BrowserManager): } async function handleUpload(command: UploadCommand, browser: BrowserManager): Promise { - const locator = browser.getLocator(command.selector); const files = Array.isArray(command.files) ? command.files : [command.files]; + try { - await locator.setInputFiles(files); + const absoluteFiles = files.map((file) => { + if (path.isAbsolute(file)) { + return file; + } + return path.resolve(process.cwd(), file); + }); + + const locator = browser.getLocator(command.selector); + await locator.setInputFiles(absoluteFiles); + + return successResponse(command.id, { uploaded: absoluteFiles }); } catch (error) { throw toAIFriendlyError(error, command.selector); } - return successResponse(command.id, { uploaded: files }); } async function handleDoubleClick(