From e32e5f57f3c3e5279a8f18e9955a465ed7066533 Mon Sep 17 00:00:00 2001 From: Thomas Nordquist Date: Tue, 29 Jan 2019 10:25:09 +0100 Subject: [PATCH] Prepare automatic ui tests --- src/spec/scenarios/showMenu.ts | 4 ++-- src/spec/webdriverio.ts | 5 +++++ uiTests.sh | 25 +++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100755 uiTests.sh diff --git a/src/spec/scenarios/showMenu.ts b/src/spec/scenarios/showMenu.ts index 1daa8e0..698c4e3 100644 --- a/src/spec/scenarios/showMenu.ts +++ b/src/spec/scenarios/showMenu.ts @@ -5,8 +5,8 @@ export async function showMenu(browser: Browser) { const menuButton = await browser.$('//button[contains(@aria-label, "Menu")]') await clickOn(menuButton, browser) - const brokerStatistics = await browser.$('//div[contains(@class, "BrokerStatistics")]/div[4]') - moveToCenterOfElement(brokerStatistics, browser) + // const brokerStatistics = await browser.$('//div[contains(@class, "BrokerStatistics")]/div[1]') + // moveToCenterOfElement(brokerStatistics, browser) await sleep(2000) const topicOrder = await browser.$('#select-node-order') diff --git a/src/spec/webdriverio.ts b/src/spec/webdriverio.ts index 5c33d95..1c88f9a 100644 --- a/src/spec/webdriverio.ts +++ b/src/spec/webdriverio.ts @@ -1,3 +1,8 @@ +process.on('unhandledRejection', (error: Error) => { + console.error('unhandledRejection', error.message, error.stack); + process.exit(1) +}); + import * as webdriverio from 'webdriverio' import * as os from 'os' import mockMqtt, { stop } from './mock-mqtt' diff --git a/uiTests.sh b/uiTests.sh new file mode 100755 index 0000000..4cb1ba5 --- /dev/null +++ b/uiTests.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +SCR=99 +# Start new window manager +Xvfb :$SCR -screen 0 1024x800x24 -ac & +PID_XVFB=$! +sleep 2 + +DISPLAY=:$SCR ./node_modules/.bin/chromedriver --url-base=wd/hub --port=9515 & +PID_CHROMEDRIVER=$! +sleep 2 + +# Delete old video +rm ./app.mp4 + +# Start recoring in tmux +tmux new-session -d -s record ffmpeg -f x11grab -video_size 1024x800 -i :$SCR -codec:v libx264 -r 20 ./app.mp4 + +# Start tests +node dist/src/spec/webdriverio.js + +# Stop recording +tmux send-keys -t record q + +kill $PID_XVFB $PID_CHROMEDRIVER