Files
WeatherStar4000/tests/index.mjs
2025-08-10 20:56:40 -05:00

41 lines
1.0 KiB
JavaScript

import puppeteer from 'puppeteer';
import { setTimeout } from 'node:timers/promises';
import { readFile } from 'fs/promises';
import messageFormatter from './messageformatter.mjs';
const browser = await puppeteer.launch({
// headless: false,
slowMo: 10,
timeout: 10_000,
dumpio: true,
});
// get the list of locations
const LOCATIONS = JSON.parse(await readFile('./tests/locations.json'));
// get the page
const page = (await browser.pages())[0];
await page.goto('http://localhost:8080');
page.on('console', messageFormatter);
const tester = async (location, testPage) => {
// Set the address
await testPage.type('#txtLocation', location);
await setTimeout(500);
// get the page
await testPage.click('#btnGetLatLng');
// wait for errors
await setTimeout(5000);
};
// run all the locations
for (let i = 0; i < LOCATIONS.length; i += 1) {
const location = LOCATIONS[i];
console.log(`${i + 1}/${LOCATIONS.length} ${location}`);
// eslint-disable-next-line no-await-in-loop
await tester(location, page);
}
browser.close();