diff --git a/src/api/test-page-url.ts b/src/api/test-page-url.ts index 6370134a5a8..5c9bb0e1365 100644 --- a/src/api/test-page-url.ts +++ b/src/api/test-page-url.ts @@ -51,8 +51,18 @@ export function getUrl (url: string, base?: URL): string { } export function prepareBaseUrl (url: string): URL { - url = join(url, '/'); - return isAbsolute(url) ? pathToFileURL(url) : new URL(url); + // If it's a web URL (http/https), use it directly + if (/^https?:\/\//i.test(url)) { + return new URL(url.endsWith('/') ? url : url + '/'); + } + + // Handle file URLs explicitly + if (/^file:\/\//i.test(url)) { + return new URL(url); + } + + // Otherwise, treat it as filesystem path + return pathToFileURL(isAbsolute(url) ? url : join(process.cwd(), url)); } export function assertPageUrl (url: string, callsiteName: string): void {