Class W3cSession

java.lang.Object
io.karatelabs.driver.w3c.W3cSession

public class W3cSession extends Object
W3C WebDriver HTTP session client. Uses java.net.http.HttpClient for clean separation from scenario HTTP state.

Implements the W3C WebDriver protocol: W3C WebDriver Specification

  • Method Details

    • create

      public static W3cSession create(String baseUrl, Map<String,Object> sessionPayload, Duration timeout)
      Create a new WebDriver session.
      Parameters:
      baseUrl - WebDriver server URL (e.g., "http://localhost:9515")
      sessionPayload - W3C session creation payload
      timeout - request timeout
      Returns:
      a new W3cSession
    • getUrl

      public String getUrl()
    • getTitle

      public String getTitle()
    • back

      public void back()
    • forward

      public void forward()
    • refresh

      public void refresh()
    • executeScript

      public Object executeScript(String script, Object... args)
    • findElement

      public String findElement(String using, String value)
      Find a single element. Returns the W3C element ID.
      Throws:
      DriverException - if element not found
    • findElements

      public List<String> findElements(String using, String value)
      Find multiple elements. Returns list of W3C element IDs.
    • clickElement

      public void clickElement(String elementId)
    • sendKeys

      public void sendKeys(String elementId, String text)
    • clearElement

      public void clearElement(String elementId)
    • getElementText

      public String getElementText(String elementId)
    • getElementAttribute

      public String getElementAttribute(String elementId, String name)
    • getElementProperty

      public String getElementProperty(String elementId, String name)
    • getElementTagName

      public String getElementTagName(String elementId)
    • isElementEnabled

      public boolean isElementEnabled(String elementId)
    • elementScreenshot

      public byte[] elementScreenshot(String elementId)
    • screenshot

      public byte[] screenshot()
    • switchFrame

      public void switchFrame(Object id)
    • parentFrame

      public void parentFrame()
    • getAlertText

      public String getAlertText()
    • acceptAlert

      public void acceptAlert()
    • dismissAlert

      public void dismissAlert()
    • sendAlertText

      public void sendAlertText(String text)
    • getWindowRect

      public Map<String,Object> getWindowRect()
    • setWindowRect

      public void setWindowRect(Map<String,Object> rect)
    • maximizeWindow

      public void maximizeWindow()
    • minimizeWindow

      public void minimizeWindow()
    • fullscreenWindow

      public void fullscreenWindow()
    • getWindowHandle

      public String getWindowHandle()
    • getWindowHandles

      public List<String> getWindowHandles()
    • switchWindow

      public void switchWindow(String handle)
    • closeWindow

      public void closeWindow()
    • getCookie

      public Map<String,Object> getCookie(String name)
    • getAllCookies

      public List<Map<String,Object>> getAllCookies()
    • addCookie

      public void addCookie(Map<String,Object> cookie)
    • deleteCookie

      public void deleteCookie(String name)
    • deleteAllCookies

      public void deleteAllCookies()
    • performActions

      public void performActions(List<Map<String,Object>> actions)
      Perform W3C Actions (keyboard, mouse, pointer). POST /session/{id}/actions
    • releaseActions

      public void releaseActions()
      Release all actions (reset keyboard/mouse state). DELETE /session/{id}/actions
    • deleteSession

      public void deleteSession()
    • getSessionId

      public String getSessionId()