SeleniumBuilder alternatives and similar libraries
Based on the "Tests" category.
Alternatively, view SeleniumBuilder alternatives based on common mentions on social networks and blogs.
-
Kotest
Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing -
kotlin-faker
Port of a popular ruby faker gem written in kotlin. Generate realistically looking fake data such as names, addresses, banking details, and many more, that can be used for testing and data anonymization purposes. -
balin
Balin is an automation library for Kotlin. It's basically a Selenium-WebDriver wrapper inspired by Geb. -
arbitrater
Arbitrater is a Kotlin library for creating arbitrary instances of classes by reflection for use in testing. In contrast to POJO generators, it supports Kotlin's optional parameters and nullable types. -
aspen
DISCONTINUED. Aspen is a simple test runner for Kotlin that allows you to write tests using your own DSL.
InfluxDB - Power Real-Time Data Analytics at Scale
Do you think we are missing an alternative of SeleniumBuilder or a related project?
README
SeleniumBuilder
DSL for Selenium. Provide a possibility to write tests in Kotlin type-safe builders style
Sample
driver(ChromeDriver()) {
get("http://cool-website.com")
elementByClass("login") {
sendKeys("[email protected]")
}
elementByName("password") {
sendKeys("123456")
submit()
}
element(By.className("search")) {
sendKeys("kotlin")
}
wait(10) {
elementVisibilityById("result-item") {
elementByClass("salary") {
item.salary = text
}
}
}
}
Total function list
Driver builders
driver(driver: WebDriver) {}
chromeDriver {}
chromeDriver(pathToDriver: String) {}
firefoxDriver {}
firefoxDriver(pathToDriver: String) {}
WebDriver
and WebElement
element builders
element(by: By) {}
elementById(id: String) {}
elementByClass(className: String) {}
elementByName(name: String) {}
elementBySelector(selector: String) {}
elementByXpath(selector: String) {}
WebDriver
and WebElement
element list builders
elements(by: By) {}
elementsById(id: String) {}
elementsByClass(className: String) {}
elementsByName(name: String) {}
elementsBySelector(selector: String) {}
elementsByXpath(selector: String) {}
WebDriver
and WebElement
element exists functions
elementExists(by: By): Boolean
elementByIdExists(id: String): Boolean
elementByClassExists(className: String): Boolean
elementByNameExists(name: String): Boolean
elementBySelectorExists(selector: String): Boolean
elementByXpathExists(selector: String): Boolean
WebDriver
WebDriverWait
builder
wait(timeout: Long) {}
WebDriverWait
element visibility builders
elementVisibility(by: By) {}
elementVisibilityById(id: String) {}
elementVisibilityByClass(className: String) {}
elementVisibilityByName(name: String) {}
elementVisibilityBySelector(selector: String) {}
elementVisibilityByXpath(xpath: String) {}
WebDriverWait
element invisibility functions
elementInvisibility(by: By): Boolean
elementInvisibilityById(id: String): Boolean
elementInvisibilityByClass(className: String): Boolean
elementInvisibilityByName(name: String): Boolean
elementInvisibilityBySelector(selector: String): Boolean
elementInvisibilityByXpath(xpath: String): Boolean