nimforum/tests/browsertests/common.nim
2018-07-13 09:18:09 +09:00

42 lines
No EOL
996 B
Nim

import os, options
import webdriver
proc waitForLoad*(session: Session, timeout=20000) =
var waitTime = 0
sleep(2000)
while true:
let loading = session.findElement(".loading")
if loading.isNone: return
sleep(1000)
waitTime += 1000
if waitTime > timeout:
doAssert false, "Wait for load time exceeded"
proc logout*(session: Session) =
# Check whether we can log out.
let logoutLink = session.findElement(
"Logout",
LinkTextSelector
).get()
logoutLink.click()
proc login*(session: Session, user, password: string) =
let logIn = session.findElement("#login-btn").get()
logIn.click()
let usernameField = session.findElement(
"#login-form input[name='username']"
)
let passwordField = session.findElement(
"#login-form input[name='password']"
)
usernameField.get().sendKeys("admin")
passwordField.get().sendKeys("admin")
passwordField.get().click() # Focus field.
session.press(Key.Enter)
waitForLoad(session, 5000)