From e0099405305b8f2485b7142d0802257e28345157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Dalfors?= Date: Wed, 29 May 2024 22:03:38 +0200 Subject: [PATCH] fix inputs not being cleared --- src/spec/scenarios/publishTopic.ts | 5 +++-- src/spec/scenarios/searchTree.ts | 2 +- src/spec/scenarios/showNumericPlot.ts | 2 +- src/spec/util/index.ts | 11 +++++------ 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/spec/scenarios/publishTopic.ts b/src/spec/scenarios/publishTopic.ts index 8f7b31f9..3e13b2cf 100644 --- a/src/spec/scenarios/publishTopic.ts +++ b/src/spec/scenarios/publishTopic.ts @@ -14,7 +14,7 @@ export async function publishTopic(browser: Page) { const topicInput = await browser.locator('//input[contains(@value,"kitchen/lamp/state")][1]') await clickOn(topicInput) await deleteTextWithBackspaces(topicInput, 120, 5) - await writeText('set', topicInput, 300) + await writeText('set', topicInput) const payloadInput = await browser.locator('//*[contains(@class, "ace_text-input")]') await writeTextPayload(payloadInput, 'off') @@ -34,5 +34,6 @@ export async function publishTopic(browser: Page) { } async function writeTextPayload(payloadInput: Locator, text: string) { - await payloadInput.fill(text) + await clickOn(payloadInput) + await writeText(text, payloadInput) } diff --git a/src/spec/scenarios/searchTree.ts b/src/spec/scenarios/searchTree.ts index f7d82f88..0d28f112 100644 --- a/src/spec/scenarios/searchTree.ts +++ b/src/spec/scenarios/searchTree.ts @@ -4,7 +4,7 @@ import { clickOn, deleteTextWithBackspaces, showText, sleep, writeText } from '. export async function searchTree(text: string, browser: Page) { const searchField = await browser.locator('//input[contains(@placeholder, "Search")]') await clickOn(searchField, 1) - await writeText(text, searchField, 100) + await writeText(text, searchField) await sleep(1500) } diff --git a/src/spec/scenarios/showNumericPlot.ts b/src/spec/scenarios/showNumericPlot.ts index e91787c6..186ae631 100644 --- a/src/spec/scenarios/showNumericPlot.ts +++ b/src/spec/scenarios/showNumericPlot.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright' -import { moveToCenterOfElement, clickOn, clickOnHistory, expandTopic, sleep, writeText } from '../util' +import { moveToCenterOfElement, clickOn, clickOnHistory, expandTopic, sleep } from '../util' export async function showNumericPlot(browser: Page) { await expandTopic('kitchen/coffee_maker', browser) diff --git a/src/spec/util/index.ts b/src/spec/util/index.ts index da6686db..57a56106 100644 --- a/src/spec/util/index.ts +++ b/src/spec/util/index.ts @@ -19,15 +19,14 @@ export function sleep(ms: number, required = false) { }) } -export async function writeText(text: string, element: Locator, delay = 0) { - return element.fill(text) +export async function writeText(text: string, element: Locator, delay = 30) { + element.pressSequentially(text, { delay }) } -export async function deleteTextWithBackspaces(element: Locator, delay = 0, count = 0) { - // @ts-ignore - const length = count > 0 ? count : (await element.textContent()).length +export async function deleteTextWithBackspaces(element: Locator, delay = 30, count = 0) { + const length = count > 0 ? count : (await element.inputValue()).length for (let i = 0; i < length; i += 1) { - await element.press('Backspace') + await element.press('Backspace', { delay: 30 }) await sleep(delay) } }