diff --git a/tests/UI/GoogleAnalyticsImporterGA4_spec.js b/tests/UI/GoogleAnalyticsImporterGA4_spec.js index 27d585b2..75e92494 100644 --- a/tests/UI/GoogleAnalyticsImporterGA4_spec.js +++ b/tests/UI/GoogleAnalyticsImporterGA4_spec.js @@ -14,6 +14,35 @@ describe("GoogleAnalyticsImporterGA4", function () { var url = "?module=GoogleAnalyticsImporter&action=index&idSite=1&period=day&date=yesterday"; + // type into a field with real keyboard events and verify the value arrived + // (a freshly rendered field sometimes swallows the first characters); + // values set programmatically do not reach the Vue model + async function typeFieldValue(selector, text) { + for (let attempt = 0; attempt < 3; attempt++) { + await (await page.$(selector)).type(text); + await page.waitForTimeout(100); + const actual = await page.evaluate( + (selector) => document.querySelector(selector).value, + selector + ); + if (actual === text) { + return; + } + await page.evaluate((selector) => { + document.querySelector(selector).value = ''; + }, selector); + } + } + + // selects bind v-model to the real