Fix ui tests

This commit is contained in:
Thomas Nordquist
2019-04-30 15:16:18 +02:00
parent a1d3f32f73
commit 365ebc78ab
4 changed files with 17 additions and 9 deletions

View File

@@ -6,7 +6,7 @@
"scripts": {
"build": "yarn rebuild && webpack --mode production",
"dev": "node_modules/.bin/webpack-dev-server --mode development --progress",
"rebuild": "cd node_modules/heapdump && node-gyp rebuild --target=5.0.0 --arch=x64 --dist-url=https://atom.io/download/electron; cd -"
"rebuild": "cd node_modules/heapdump && node-gyp rebuild --target=5.0.0 --arch=x64 --dist-url=https://atom.io/download/electron || echo Could not build heapdump; cd -"
},
"author": "",
"license": "CC-BY-ND-4.0",

View File

@@ -1,12 +1,14 @@
import * as FileAsync from 'lowdb/adapters/FileAsync'
import * as fs from 'fs-extra'
import * as lowdb from 'lowdb'
import * as path from 'path'
import { backendEvents } from '../../events'
import {
makeStorageAcknowledgementEvent,
makeStorageResponseEvent,
storageClearEvent,
storageLoadEvent,
storageStoreEvent,
makeStorageAcknowledgementEvent
storageStoreEvent
} from '../../events/StorageEvents'
export default class ConfigStorage {
@@ -17,6 +19,10 @@ export default class ConfigStorage {
}
private async getDb() {
const pathInfo = path.parse(this.file)
// Ensure that Settings dir exists
await fs.mkdirp(pathInfo.dir)
const adapter = new FileAsync(this.file)
if (!this.database) {
this.database = await lowdb(adapter)

View File

@@ -24,9 +24,6 @@ import {
hideText,
showText,
sleep,
getHeapDump,
countInstancesOf,
ClassNameMapping
} from './util'
process.on('unhandledRejection', (error: Error) => {
@@ -59,7 +56,12 @@ async function doStuff() {
await createFakeMousePointer(browser)
// Wait for Username input to be visible
await browser.$(`//label[contains(text(), "Username")]/..//input`)
let inputField = undefined
let start = Date.now()
let maxWaitDuration = 30000
while ((!inputField || !inputField.isExisting) && ((Date.now() - start) < maxWaitDuration)) {
inputField = await browser.$(`//label[contains(text(), "Username")]/..//input`)
}
const scenes = new SceneBuilder()
await scenes.record('connect', async () => {
await connectTo('127.0.0.1', browser)

View File

@@ -57,7 +57,7 @@ export async function moveToCenterOfElement(element: Element<void>, browser: Bro
const js = `window.demo.moveMouse(${targetX}, ${targetY}, ${duration});`
await browser.execute(js)
await sleep(duration)
await sleep(20, true)
await sleep(250, true)
await element.moveTo()
}