generateFieldValue function exported ✓ 81.0%
Last updated: 2026-03-03T18:32:34.140Z
Location
Metrics
LOC: 48
Complexity: 10
Params: 1
Coverage: 81.0% (17/21 lines, 4x executed)
Signature
generateFieldValue(field: FormField): : Promise<string>
Summary
Generates a realistic test value for a form field via Chrome AI. Constructs a contextual prompt from the field's metadata (label, name, type, …).
Tags
#@param field - The detected form field to generate a value for#@returns A trimmed AI-generated value, or `""` when the session is unavailable
Source Code
export async function generateFieldValue(field: FormField): Promise<string> {
log.debug(
`Gerando valor para campo: selector="${field.selector}" label="${field.label ?? ""}" name="${field.name ?? ""}" type="${field.fieldType}"`,
);
const aiSession = await getSession();
if (!aiSession) {
log.warn("Sessão Chrome AI indisponível — não é possível gerar valor.");
return "";
}
const input: FieldValueInput = {
label: field.label,
name: field.name,
id: field.id,
placeholder: field.placeholder,
autocomplete: field.autocomplete,
inputType: (field.element as HTMLInputElement).type || "text",
fieldType: field.fieldType,
};
const prompt = fieldValueGeneratorPrompt.buildPrompt(input);
log.groupCollapsed(
`Prompt → campo: "${field.label ?? field.name ?? field.selector}"`,
);
log.debug("▶ Prompt completo:\n" + prompt);
log.groupEnd();
let result: string;
try {
result = await aiSession.prompt(prompt);
} catch (err) {
log.warn("Erro ao gerar valor com Chrome AI — destruindo sessão:", err);
session?.destroy();
session = null;
return "";
}
log.groupCollapsed(
`Resposta ← campo: "${field.label ?? field.name ?? field.selector}"`,
);
log.debug("◄ Resposta raw:\n" + result);
log.debug('\u25c4 Valor final (trimmed): "' + result.trim() + '"');
log.groupEnd();
return result.trim();
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| getSession | calls |
No incoming dependencies.