Test bridge The test bridge is exposed as window.__sootsimTest in the browser. All test drivers (Detox, Maestro, Playwright) use this API to query the SootSim node tree. Find methods findByText(text: string): SootSimNodeInfo | null findById(id: string): SootSimNodeInfo | null findByTestId(testId: string): SootSimNodeInfo | null findByLabel(label: string): SootSimNodeInfo | null findByRole(role: string): SootSimNodeInfo | null findAllByRole(role: string): SootSimNodeInfo[] findByA11yState(state: object): SootSimNodeInfo | null Query queryAll(filter: { type?: string hasText?: string hasId?: string hasRole?: string hasLabel?: string }): SootSimNodeInfo[] Inspect getStyle(id: string): object getLayout(id: string): { x, y, width, height } getAbsolutePosition(id: string): { x, y } isVisible(id: string): boolean getNodeCount(): number Debug dumpTree(maxDepth?: number): string dumpAccessibilityTree(maxDepth?: number): string waitForTree(): Promise<void> // polls until root has children waitForScreenTransitions(opts?: { timeoutMs?: number settleMs?: number startWindowMs?: number }): Promise<{ started: boolean settled: boolean timedOut: boolean activeCount: number peakActiveCount: number waitedMs: number }> SootSimNodeInfo { type: string id: string testID: string text: string style: object layout: { ;(x, y, width, height) } absolutePosition: { ;(x, y) } childCount: number accessible: boolean accessibilityLabel: string accessibilityRole: string } previousAgent SkillsnextDetox Driver