tui-tester
Version:
End-to-end testing framework for terminal user interfaces
102 lines (98 loc) • 3.42 kB
TypeScript
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 };