4.1+54.11
WebDriverConnection SUT API
Die WebDriverConnection-SUT-API stellt Klassen und Interfaces bereit, um die Selenium WebDriver Java-API auch innerhalb von SUT-Skripte benutzbar zu machen. Mit dieser Art Bridge ist es möglich, bestehende Selenium WebDriver Skripte innerhalb eines SUT-Skript Knotens von QF-Test zu verwenden. Darüber hinaus kann sogar die Pseudo DOM-API (Abschnitt 54.10) mit Selenium WebDriver Skripten in Kombination verwendet werden.
HinweisDiese API kann nur verwendet werden, wenn der Browser über den Verbindungsweg "WebDriver" angebunden ist. Aufrufe auf dem zurückgegebenen WebDriver-Objekt werden automatisch synchronisiert und mit einem Timeout versehen.
from webdriver import WebDriverConnection from org.openqa.selenium import By wdc = WebDriverConnection(rc) driver = wdc.getDriver() # driver ist nun ein Objekt vom Typ org.openqa.selenium.WebDriver element = driver.findElement(By.cssSelector(".myClass")) # element ist nun vom Typ org.openqa.selenium.WebElement # Auf dem Element können direkt die WebDriver Methoden aufgerufen werden element.click() # Objekte vom Typ WebElement können auf Objekte # der QF-Test Pseudo DOM-API abgebildet werden node = wdc.getComponent(element) # Und dann einer im Komponenten-Baum definierten Komponente zugewiesen werden rc.overrideElement("Your-QF-Test-Id",node) # Ebenfalls kann eine QF-Test Komponente auf ein WebElement abgebildet werden node = rc.getComponent("QF-Test-Id-Of-Some-Textfield") element = wdc.getElement(node) # und dann damit interagiert: element.clear()
HinweisDas WebDriver-Objekt ist um Methoden zur Kontrolle des automatischen Timeouts erweitert.
import de.qfs.WebDriverConnection def wdc = new WebDriverConnection(rc) def driver = wdc.getDriver() println sprintf("Current timeout: %d ms",driver.getCallTimeout()) driver.setCallTimeout(30000) # 30 sec driver.get("http://www.slowpage.com") # Langsame WebDriver Aktion driver.resetCallTimeout()
Die WebDriverConnection
Klasse
Es folgt eine alphabetische Aufstellung aller Methoden der
WebDriverConnection
Klasse. Die verwendete Syntax ist ein
Gemisch aus Java und Python. Python unterstützt zwar selbst
keine statische Typisierung, die Parameter werden jedoch an Java
weitergereicht, so dass falsche Typen Exceptions auslösen können.
Folgt einem Parameter ein '='-Zeichen und ein Wert, ist dies der
Defaultwert des Parameters und eine Angabe beim Aufruf ist
optional.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||