Así que estoy tratando de automatizar el proceso de completar un formulario web en https://www.business.att.com/disconnects/ .
Estoy usando la herramienta de prueba Playwright para automatizar este proceso usando JavaScript
Tengo los pasos descritos en Playwright:
const { test, expect } = require('@playwright/test'); test('filling out ATT disconnect webform', async ({ page }) => { await page.goto('https://www.business.att.com/disconnects/'); await page.click('select[name="region"]'); await page.selectOption('select[name="region"]', "ES"); await page.selectOption('select[name="service"]', 'ZH:E2'); await page.click('text=Desired Disconnect Date'); // This RequestedDisconnectDate is one of the values I want to pull from a local csv. I have it hard coded for now await page.fill('input[name="RequestedDisconnectDate"]', '01/12/2022'); await page.click('a:has-text("12")'); // For "Disconnect Reason", ALWAYS select = "Other" await page.click('select[name="ReasonForDisconnect"]'); await page.selectOption('select[name="ReasonForDisconnect"]', '31'); // For "Reason Other", ALWAYS fill = "Other" await page.click('input[name="ReasonForDisconnectOther"]'); await page.fill('input[name="ReasonForDisconnectOther"]', 'Other'); // ... await page.click('input[alt="Submit"]'); });Algunos de los valores que estoy tratando de pasar son constantes, pero otros son variables. Por ejemplo, RequestedDisconnectDate se almacena en un csv. Esos valores que quiero extraer de un csv que he guardado en mi computadora localmente. Pero no estoy seguro de cómo hacer ese proceso. He estado buscando soluciones de biblioteca js y paquetes npm como csv-parser y jquery. Pero no estoy seguro de cómo resolverlo.
Si alguien pudiera darme una idea sobre cómo abordar esto, sería muy apreciado. Gracias
No sé mucho sobre archivos csv. Tuve algo similar con los archivos .json, en ese momento, importé el archivo json de la siguiente manera:
import * as whatever from 'path; const firstVariable = whatever.myvariables[1] // depends on the file structure.y luego accedería a los elementos como una matriz. por lo tanto, debe averiguar si puede hacer lo mismo con csv o simplemente usar el archivo json, que, según entendí, tiene una estructura muy similar al archivo csv.
otra opción sería usar la variable .env. No está destinado a ser utilizado para cosas como esa, pero definitivamente funcionaría. En el archivo .env:
VARIABLE=variable contenten la prueba:
page.fill('selector', process.evn.VARIABLE);Asegúrese de usar env-cmd al ejecutar los archivos de prueba, para que la variable env esté disponible: env-cmd npm run test