DSL for Selenium. Provide a possibility to write tests in Kotlin type-safe builders style
driver(ChromeDriver()) {
get("http://cool-website.com")
elementByClass("login") {
sendKeys("user@example.com")
}
elementByName("password") {
sendKeys("123456")
submit()
}
element(By.className("search")) {
sendKeys("kotlin")
}
wait(10) {
elementVisibilityById("result-item") {
elementByClass("salary") {
item.salary = text
}
}
}
}
driver(driver: WebDriver) {}
chromeDriver {}
chromeDriver(pathToDriver: String) {}
firefoxDriver {}
firefoxDriver(pathToDriver: String) {}
element(by: By) {}
elementById(id: String) {}
elementByClass(className: String) {}
elementByName(name: String) {}
elementBySelector(selector: String) {}
elementByXpath(selector: String) {}
elements(by: By) {}
elementsById(id: String) {}
elementsByClass(className: String) {}
elementsByName(name: String) {}
elementsBySelector(selector: String) {}
elementsByXpath(selector: String) {}
elementExists(by: By): Boolean
elementByIdExists(id: String): Boolean
elementByClassExists(className: String): Boolean
elementByNameExists(name: String): Boolean
elementBySelectorExists(selector: String): Boolean
elementByXpathExists(selector: String): Boolean
wait(timeout: Long) {}
elementVisibility(by: By) {}
elementVisibilityById(id: String) {}
elementVisibilityByClass(className: String) {}
elementVisibilityByName(name: String) {}
elementVisibilityBySelector(selector: String) {}
elementVisibilityByXpath(xpath: String) {}
elementInvisibility(by: By): Boolean
elementInvisibilityById(id: String): Boolean
elementInvisibilityByClass(className: String): Boolean
elementInvisibilityByName(name: String): Boolean
elementInvisibilityBySelector(selector: String): Boolean
elementInvisibilityByXpath(xpath: String): Boolean