Как получить идентификатор сеанса webdriver в сценарии selenium в Katalon
Я пытаюсь получить идентификатор сеанса из тестового сценария Katalon.
Результаты моей поисковой системы с парой подсказок, например, этот пост о переполнении стека, по вызову.getSessionId()
из экземпляра webdriver.
Хотя не работает для меня, как показано ниже.
Полный сценарий доступен в моей сути на GitHub.
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.webui.driver.DriverFactory
import org.openqa.selenium.WebDriver
import org.openqa.selenium.remote.RemoteWebDriver
import com.kms.katalon.core.webui.driver.SmartWaitWebDriver
import org.openqa.selenium.support.events.EventFiringWebDriver
import org.openqa.selenium.chrome.ChromeDriver
WebUI.openBrowser('www.google.com')
def wd = DriverFactory.getWebDriver()
println wd // com.kms.katalon.core.webui.driver.SmartWaitWebDriver@1136b469
//println wd.getSessionId().toString() // get error groovy.lang.MissingMethodException: No signature of method: com.kms.katalon.core.webui.driver.SmartWaitWebDriver.getSessionId() is applicable for argument types: () values: []
//println ((RemoteWebDriver)wd).getSessionId().toString() // get error org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'com.kms.katalon.core.webui.driver.SmartWaitWebDriver@6ce90bc5' with class 'com.kms.katalon.core.webui.driver.SmartWaitWebDriver' to class 'org.openqa.selenium.remote.RemoteWebDriver'
//println ((SmartWaitWebDriver)wd).getSessionId().toString() // java.lang.NullPointerException: Cannot invoke method getSessionId() on null object
//println ((RemoteWebDriver) (((EventFiringWebDriver) wd).getWrappedDriver())).getSessionId().toString() // java.lang.NullPointerException: Cannot invoke method getSessionId() on null object
//println ((ChromeDriver)wd).getSessionId().toString() // org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'com.kms.katalon.core.webui.driver.SmartWaitWebDriver@4b1c0397' with class 'com.kms.katalon.core.webui.driver.SmartWaitWebDriver' to class 'org.openqa.selenium.chrome.ChromeDriver'
//TODO how to get :sessionid from object :wd ?
WebUI.closeBrowser()