Travis ui tests (#57)
* Prepare travis is tests * Fix ffmpeg travis source * Trying xenial * Move shell scripts * Upload video assets * Upload video assets * Change text input method * Add ui test docker support * Fix travis docker build * Fix asset uploader * Fix dockerfile * Update dockerfile * Change writeText behavior * Fix type error * Fix exit codes * Fix types * fix upload * Fix writeText * Fix argument name * Add test scenarios * Enable vnc and change mqtt host
This commit is contained in:
14
src/spec/scenarios/compareJsonSideBySide.ts
Normal file
14
src/spec/scenarios/compareJsonSideBySide.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { clickOn, sleep, writeText, expandTopic, hideText } from '../util'
|
||||
import { Browser } from 'webdriverio'
|
||||
|
||||
// Expects a topic with at least two messages to be selected
|
||||
export async function compareJsonSideBySide(browser: Browser<void>) {
|
||||
const firstEntry = await browser.$('//span[contains(text(), "History")]/../../div/div[1]/div')
|
||||
const secondEntry = await browser.$('//span[contains(text(), "History")]/../../div/div[2]/div')
|
||||
await clickOn(secondEntry, browser)
|
||||
await sleep(2000)
|
||||
await clickOn(firstEntry, browser)
|
||||
await sleep(2000)
|
||||
await clickOn(firstEntry, browser)
|
||||
await sleep(1000)
|
||||
}
|
||||
7
src/spec/scenarios/disconnect.ts
Normal file
7
src/spec/scenarios/disconnect.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { clickOn } from '../util'
|
||||
import { Browser } from 'webdriverio'
|
||||
|
||||
export async function disconnect(browser: Browser<void>) {
|
||||
const connectButton = await browser.$('//button/span[contains(text(),"Disconnect")]')
|
||||
clickOn(connectButton, browser)
|
||||
}
|
||||
23
src/spec/scenarios/publishTopic.ts
Normal file
23
src/spec/scenarios/publishTopic.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { clickOn, sleep, writeText, delteTextWithBackspaces, expandTopic, moveToCenterOfElement, showText } from '../util'
|
||||
import { Browser } from 'webdriverio'
|
||||
|
||||
export async function publishTopic(browser: Browser<void>) {
|
||||
await expandTopic('kitchen/lamp/state', browser)
|
||||
const topicInput = await browser.$('//textarea[contains(text(),"kitchen/lamp/state")][2]')
|
||||
await clickOn(topicInput, browser)
|
||||
await delteTextWithBackspaces(topicInput, browser, 120, 5)
|
||||
await writeText('set', browser, 300)
|
||||
|
||||
const payloadInput = await browser.$('//*[contains(@class, "ace_text-input")]')
|
||||
await payloadInput.setValue('o')
|
||||
await sleep(300)
|
||||
await payloadInput.setValue('n')
|
||||
await sleep(700)
|
||||
|
||||
const publishButton = await browser.$('#publish-button')
|
||||
await moveToCenterOfElement(publishButton, browser)
|
||||
await showText('Lamp turns on', 1000, browser, 'top')
|
||||
await sleep(500)
|
||||
|
||||
await clickOn(publishButton, browser)
|
||||
}
|
||||
@@ -1,8 +1,15 @@
|
||||
import { clickOn, sleep, writeText } from '../util'
|
||||
import { clickOn, sleep, writeText, delteTextWithBackspaces, showText } from '../util'
|
||||
import { Browser } from 'webdriverio'
|
||||
|
||||
export async function searchTree(browser: Browser<void>) {
|
||||
export async function searchTree(text: string, browser: Browser<void>) {
|
||||
const searchField = await browser.$('//input[contains(@placeholder, "Search")]')
|
||||
await clickOn(searchField, browser, 1)
|
||||
writeText('temp', browser)
|
||||
await writeText(text, browser, 100)
|
||||
await sleep(1500)
|
||||
}
|
||||
|
||||
export async function clearSearch(browser: Browser<void>) {
|
||||
const searchField = await browser.$('//input[contains(@placeholder, "Search")]')
|
||||
await clickOn(searchField, browser, 1)
|
||||
await delteTextWithBackspaces(searchField, browser, 100)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import { clickOn, sleep, writeText, expandTopic } from '../util'
|
||||
import { Browser } from 'webdriverio'
|
||||
|
||||
export async function showJsonPreview(browser: Browser<void>) {
|
||||
await expandTopic('3d-printer/OctoPrint/temperature/bed', browser)
|
||||
await expandTopic('actuality/showcase', browser)
|
||||
|
||||
await sleep(1000)
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import { clickOn, sleep, writeText, expandTopic } from '../util'
|
||||
import { clickOn, sleep, writeText, expandTopic, clickOnHistory } from '../util'
|
||||
import { Browser } from 'webdriverio'
|
||||
|
||||
export async function showNumericPlot(browser: Browser<void>) {
|
||||
await expandTopic('livingroom/temperature', browser)
|
||||
|
||||
const messageHistory = await browser.$('//span/*[contains(text(), "History")]')
|
||||
await clickOn(messageHistory, browser, 1)
|
||||
await clickOnHistory(browser)
|
||||
|
||||
await sleep(1000)
|
||||
await expandTopic('livingroom/humidity', browser)
|
||||
|
||||
Reference in New Issue
Block a user