t.me/atinfo_chat Telegram группа по автоматизации тестирования

Выполнение FireEvent в WebDriver


(d3unka) #1

Много кто спрашивал, как вызывать события типа onmouseover focus и т.д. в WebDriver.

Вот пример ho java кода

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; } Locatable hoverItem = (Locatable) categorySelect; Mouse mouse = ((HasInputDevices) webDriver).getMouse(); mouse.mouseMove(hoverItem.getCoordinates());{/syntaxhighlighter}

У обьета Mouse есть еще дополнительные методы по работе.

 

Второй вариант это вызывать fireEvent

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; } JavascriptLibrary jsLib = new JavascriptLibrary(); WebElement ele = driver.findELement(By.xpath("<myELement>")); ele.sendKeys("foo"); jsLib.callEmbeddedHtmlUtils(driver, "fireevent", ele, "onclick");{/syntaxhighlighter}

 

 


(MegaFUNT) #2

При вызове fireEvent вылетел такой эксепшн:

 

org.openqa.selenium.WebDriverException: TypeError: browserbot.fireevent is undefined
Command duration or timeout: 67 milliseconds
Build info: version: '2.31.0', revision: '1bd294d', time: '2013-02-27 20:52:59'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0'
Session ID: 56bcb6da-ee97-4ef9-8c20-4d7d8e4651bc
Driver info: org.openqa.selenium.firefox.FirefoxDriver
 
Кто-нибудь сталкивалс с подобным?

(MegaFUNT) #3

Проблема решена - вместо fireevent надо doFireEvent.