js, playwright, vs code
Здравствуйте пишу код на js, используя Playwright. Код читает данные из гугл таблицы и переносит их на сайт. Но код не работает и когда я запускаю его с помощью команды "npx playwright test --ui" , то он доходит до let r = [] и дальше прекращает работу. Буду благодарна, если подскажите в чем здесь ошибка
// @ts-check
var g = require('./index.js');
function formatDate(dateString) {
const date = new Date(dateString);
const day = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0');
const year = date.getFullYear();
return ${day}/${month}/${year};
}
const { test, expect } = require('@playwright/test');
test('test', async ({ page }) => {
test.setTimeout(120_000);
await page.goto('https://testjaxel.bamboohr.com/login.php?r=%2Fhome%2F');
await page.locator('(//*[@name="username"])[2]').fill('email');
await page.locator('//*[@name="password"]').fill('password');
await page.getByRole('button', { name: 'Log in' }).click();
await page.getByRole('button', { name: 'Yes, Trust this Browser' }).click();
await page.locator('[href="/settings/"]').click();
await page.getByText('Holidays').click();
let r = [];
await g.NodeGoogleSheets('tests/googlefile.json', '1cxKfCWuQf43zsv36f90WK572F7NzOfWOsmKH7K3GBmA', { values: 'Holidays' }, (data) => {
r = data.values.map(item => {
const dateIndices = item.map((element, index) => {
if (element.includes('Fri') element.includes('Sat') element.includes('Sun') element.includes('Thu') element.includes('Mon') element.includes('Tue') element.includes('Wed')) {
return index;
}
}).filter(index => index !== undefined);
dateIndices.forEach(dateIndex => {
item[dateIndex] = formatDate(item[dateIndex]);
});
return item;
});
});
for (let i = 0; i < r.length; i++) {
const holiday = r[i];
await page.locator('[href="add?year=2024"]').click(); // Open a new holiday entry
await page.locator("#mui-1").fill(holiday[0]); // Fill the holiday name
await page.getByPlaceholder('mm/dd/yyyy').fill(holiday[1]); // Fill the holiday date
// Select location (assuming it's in the third column)
await page.getByText('Edit').click();
await page.getByRole('button', { name: 'All Employees' }).click();
await page.locator("#menu-item-7").click();
await page.getByText('Location').click();
await page.getByText(holiday[2]).click(); // Fill the holiday location
await page.getByLabel('Filter Options').getByRole('button', { name: 'Save' }).click();
await page.getByRole('button', { name: 'Save' }).click();
}
});
|