Files
orca/mobile/scripts/hosted-webview-e2e-report.mjs
T
Jinwoo-H d39be4951d fix(mobile): repair hosted journey accessibility and route checks
Label standalone toolbar actions, match WebView accessibility values, and fence workspace return checks by pathname. Reuse Android labelled navigation and support adversarial journeys without native screenshot baselines. Record passing iOS file parity and the unresolved terminal file-link gate on both platforms.
2026-09-06 18:11:18 -04:00

55 lines
2.2 KiB
JavaScript

export async function evidenceStep(label, run) {
console.log(`[hosted-e2e] ${label}...`)
try {
const result = await run()
console.log(`[hosted-e2e] ${label}: ok`)
return result
} catch (error) {
throw new Error(`${label} failed: ${error instanceof Error ? error.message : String(error)}`, {
cause: error
})
}
}
export function printHostedWebViewE2eReport(evidence) {
console.log(
JSON.stringify(
{
ok: true,
device: evidence.deviceUdid,
targetId: evidence.workspaceDocument.targetId,
route: evidence.workspaceDocument.href,
nativeAppPath: evidence.nativeAppPath,
visibleText: evidence.expectedWorkspace,
interactiveControls: evidence.workspaceDocument.buttonCount,
networkIsolation: evidence.networkIsolation,
navigationIsolation: evidence.navigationIsolation,
executableIsolation: evidence.executableIsolation,
privacyIsolation: evidence.privacyIsolation,
nativeOnboarding: evidence.nativeOnboarding,
nativeAlert: evidence.nativeAlert.evidence,
documentUpload: evidence.terminalDeviceInput?.documentUpload?.evidence ?? null,
photoPermissionDenial:
evidence.terminalDeviceInput?.photoPermissionDenial?.evidence ?? null,
photoPermissionRevocation:
evidence.terminalDeviceInput?.photoPermissionRevocation?.evidence ?? null,
terminalClipboardImagePaste:
evidence.terminalDeviceInput?.terminalClipboardImagePaste?.evidence ?? null,
terminalClipboardPaste:
evidence.terminalDeviceInput?.terminalClipboardPaste.evidence ?? null,
workspaceParity: evidence.hostedWorkspace,
accountsParity: evidence.hostedAccounts?.evidence ?? null,
agentHistory: evidence.historyEvidence,
coreRouteParity: evidence.hostedCoreRoutes?.evidence ?? null,
filesPreviewParity: evidence.hostedFilesPreview?.evidence ?? null,
sourceControlReview: evidence.sourceControlReview,
adversarialContent: evidence.adversarialContent,
adversarialProviderContent: evidence.adversarialProviderContent,
adversarialTerminalLinks: evidence.adversarialTerminalLinks
},
null,
2
)
)
}