Pure kotlin async selenium/webdriver client
Features:
- Page object support
- Handling StaleReferenceException
- Strict models (kotlinx.serialization)
- More sugar
- Support for DevTools
- Docs
Protocols:
- W3C
- Appium
- SauceLab
- BrowserStack
Http clients:
- Ktor
Platforms (not multiplatform yet):
- Jvm
- Js
- Native
val webdriver = webdriver(
"http://localhost:4444",
listOf(
w3cConverter()
)
)
val session = webdriver.session(
DefaultSessionCreator,
capabilities
{
browserName = "firefox"
platformName = "linux"
browserVersion = "92.0"
}) {
setUrl(PageUrl("http://google.com"))
findElement(xpath("//input[@name = 'q']")).sendKeys(Text("I want to found something"))
findElement(xpath("//input[@name = 'btnK']")).click()
//...
}
- Fork
- Make changes
- Create PR