UNPKG

tui-tester

Version:

End-to-end testing framework for terminal user interfaces

102 lines (98 loc) 3.42 kB
import { i as TerminalTester, P as Point, W as WaitOptions } from '../types-I_UaGSPL.js'; /** * High-Level Interaction Helpers * Utilities for common terminal UI interactions */ /** * Navigate menu using arrow keys */ declare function navigateMenu(tester: TerminalTester, direction: 'up' | 'down' | 'left' | 'right', count?: number): Promise<void>; /** * Select menu item by text */ declare function selectMenuItem(tester: TerminalTester, itemText: string, maxAttempts?: number): Promise<void>; /** * Fill form field */ declare function fillField(tester: TerminalTester, fieldName: string, value: string): Promise<void>; /** * Submit form * Optionally fill form fields before submitting */ declare function submitForm(tester: TerminalTester, formData?: Record<string, string>): Promise<void>; /** * Cancel dialog or form */ declare function cancel(tester: TerminalTester): Promise<void>; /** * Confirm dialog */ declare function confirmDialog(tester: TerminalTester, accept?: boolean): Promise<void>; /** * Scroll content */ declare function scroll(tester: TerminalTester, direction: 'up' | 'down' | 'pageup' | 'pagedown' | 'home' | 'end', count?: number): Promise<void>; /** * Click on text */ declare function clickOnText(tester: TerminalTester, text: string): Promise<void>; /** * Click at position */ declare function clickAt(tester: TerminalTester, position: Point, button?: 'left' | 'middle' | 'right'): Promise<void>; /** * Drag from one position to another */ declare function drag(tester: TerminalTester, from: Point, to: Point): Promise<void>; /** * Select text by dragging */ declare function selectText(tester: TerminalTester, startText: string, endText: string): Promise<void>; /** * Copy selected text */ declare function copySelection(tester: TerminalTester): Promise<void>; /** * Paste from clipboard */ declare function pasteFromClipboard(tester: TerminalTester): Promise<void>; /** * Execute command in shell */ declare function executeCommand(tester: TerminalTester, command: string): Promise<void>; /** * Wait for prompt */ declare function waitForPrompt(tester: TerminalTester, prompt?: string, options?: WaitOptions): Promise<void>; /** * Login to application */ declare function login(tester: TerminalTester, username: string, password: string): Promise<void>; /** * Navigate through tabs */ declare function switchTab(tester: TerminalTester, tabIndex: number): Promise<void>; /** * Open command palette or menu */ declare function openCommandPalette(tester: TerminalTester): Promise<void>; /** * Search for text */ declare function search(tester: TerminalTester, searchText: string): Promise<boolean>; /** * Exit application */ declare function exitApplication(tester: TerminalTester, force?: boolean): Promise<void>; /** * Wait for loading to complete */ declare function waitForLoading(tester: TerminalTester, options?: WaitOptions): Promise<void>; /** * Take screenshot with annotation */ declare function takeAnnotatedSnapshot(tester: TerminalTester, name: string, annotations?: { text: string; position: Point; }[]): Promise<void>; export { cancel, clickAt, clickOnText, confirmDialog, copySelection, drag, executeCommand, exitApplication, fillField, login, navigateMenu, openCommandPalette, pasteFromClipboard, scroll, search, selectMenuItem, selectText, submitForm, switchTab, takeAnnotatedSnapshot, waitForLoading, waitForPrompt };