import { executeTest } from './test-executor';

function getArgValue(args: string[], key: string): string | undefined {
  const index = args.indexOf(key);
  if (index === -1) return undefined;
  return args[index + 1];
}

async function main() {
  const args = process.argv.slice(2);
  const moduleName = getArgValue(args, '--module');

  if (!moduleName) {
    console.error('缺少参数: --module <module>');
    process.exit(1);
  }

  const baseUrl = getArgValue(args, '--base-url');
  const browser = getArgValue(args, '--browser');
  const storageState = getArgValue(args, '--storage-state');
  const headless = args.includes('--headless') ? true : args.includes('--headed') ? false : undefined;

  await executeTest(moduleName, {
    baseUrl: baseUrl || undefined,
    browser: browser || undefined,
    storageState: storageState || undefined,
    headless,
  });
}

main().catch((error) => {
  console.error(error);
  process.exit(1);
});
