import { spawnSync } from 'node:child_process'; export async function spawnAndLog(command: string, args: string[]) { const result = spawnSync(command, args); console.log(`Exec command: ${command} ${args.join(' ')}`); console.log('==== STDOUT ====\n', result.stdout?.toString()); console.log('==== STDERR ====\n', result.stderr?.toString()); console.log('==== EXIT STATUS ====\n', result.status); return result.status; } export async function findAndClick(selector: string) { const button = await $(selector); await button.isClickable(); await button.click(); } export async function setElementValue(targetElement: WebdriverIO.Element, value: string) { await browser.execute( (input, path) => { (input as any).value = path; }, targetElement, value ); }