replace deprecated spectron with playwright
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Browser, Element } from 'webdriverio'
|
||||
import { Page } from 'playwright'
|
||||
import { moveToCenterOfElement, clickOn, clickOnHistory, expandTopic, sleep, writeText } from '../util'
|
||||
|
||||
export async function showNumericPlot(browser: Browser<'async'>) {
|
||||
export async function showNumericPlot(browser: Page) {
|
||||
await expandTopic('kitchen/coffee_maker', browser)
|
||||
let heater = await valuePreviewGuttersShowChartIcon('heater', browser)
|
||||
await moveToCenterOfElement(heater, browser)
|
||||
@@ -30,7 +30,7 @@ export async function showNumericPlot(browser: Browser<'async'>) {
|
||||
await clickAway('temperature', browser)
|
||||
await sleep(2500)
|
||||
|
||||
await browser.saveScreenshot('screen_chart_panel.png')
|
||||
await browser.screenshot({ path: 'screen_chart_panel.png' })
|
||||
|
||||
await removeChart('heater', browser)
|
||||
await sleep(750)
|
||||
@@ -42,34 +42,38 @@ export async function showNumericPlot(browser: Browser<'async'>) {
|
||||
await clickOnHistory(browser)
|
||||
}
|
||||
|
||||
async function valuePreviewGuttersShowChartIcon(name: string, browser: Browser<'async'>) {
|
||||
async function valuePreviewGuttersShowChartIcon(name: string, browser: Page) {
|
||||
for (let retries = 0; retries < 2; retries += 1) {
|
||||
try {
|
||||
return await browser.$(`//*[contains(@data-test-type, "ShowChart")][contains(@data-test, "${name}")]`)
|
||||
return await browser.locator(`//*[contains(@data-test-type, "ShowChart")][contains(@data-test, "${name}")]`)
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
return browser.$(`//*[contains(@data-test-type, "ShowChart")][contains(@data-test, "${name}")]`)
|
||||
return browser.locator(`//*[contains(@data-test-type, "ShowChart")][contains(@data-test, "${name}")]`)
|
||||
}
|
||||
|
||||
async function chartSettings(name: string, browser: Browser<'async'>) {
|
||||
const settings = await browser.$(`//*[contains(@data-test-type, "ChartSettings")][contains(@data-test, "${name}")]`)
|
||||
return clickOn(settings, browser)
|
||||
async function chartSettings(name: string, browser: Page) {
|
||||
const settings = await browser.locator(
|
||||
`//*[contains(@data-test-type, "ChartSettings")][contains(@data-test, "${name}")]`
|
||||
)
|
||||
return clickOn(settings)
|
||||
}
|
||||
|
||||
async function clickAway(name: string, browser: Browser<'async'>) {
|
||||
const settings = await browser.$(`//*[contains(@data-test-type, "ChartPaper")][contains(@data-test, "${name}")]`)
|
||||
async function clickAway(name: string, browser: Page) {
|
||||
const settings = await browser.locator(
|
||||
`//*[contains(@data-test-type, "ChartPaper")][contains(@data-test, "${name}")]`
|
||||
)
|
||||
await moveToCenterOfElement(settings, browser)
|
||||
await browser.keys(['Escape'])
|
||||
await settings.press('Escape')
|
||||
}
|
||||
|
||||
async function removeChart(name: string, browser: Browser<'async'>) {
|
||||
const remove = await browser.$(`//*[contains(@data-test-type, "RemoveChart")][contains(@data-test, "${name}")]`)
|
||||
return clickOn(remove, browser)
|
||||
async function removeChart(name: string, browser: Page) {
|
||||
const remove = await browser.locator(`//*[contains(@data-test-type, "RemoveChart")][contains(@data-test, "${name}")]`)
|
||||
return clickOn(remove)
|
||||
}
|
||||
|
||||
async function clickOnMenuPoint(name: string, browser: Browser<'async'>) {
|
||||
const item = await browser.$(`//li/span[contains(text(), "${name}")]`)
|
||||
return clickOn(item, browser)
|
||||
async function clickOnMenuPoint(name: string, browser: Page) {
|
||||
const item = await browser.locator(`//li/span[contains(text(), "${name}")]`)
|
||||
return clickOn(item)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user