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
https://serpro69.github.io/kotlin-faker/ Generate realistically looking fake data such as names, addresses, banking details, and many more, that can be used for testing and data anonymization purposes. -
hikaku
A library that tests if the implementation of a REST-API meets its specification. -
minutest
Simple, Expressive, Extensible Testing for Kotlin on the JVM -
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
Aspen is a simple test runner for Kotlin that allows you to write tests using your own DSL. -
mock-fuel
JUnit 5 extension to easily test with the http client Fuel for Kotlin
Appwrite - The Open Source Firebase alternative introduces iOS support
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