我必須自動化使用聚合物UI構建的Slider。 使用Actions的當前代碼在Chrome版本35中工作正常,但在更高版本的Chrome中執行測試時無法拖放滑塊。我做了一些研究,但無法找到合適的解決方法來解決這個問題。我發現的是,它需要Javascript來解決這個問題。 有人可以分享可以幫助我的Javascript嗎?讓我知道你是否需要我的額外細節。 注意:我已經嘗試了對我無用的動作和機器人。使用Selenium Webdriver和Java的聚合物滑塊自動化
-2
A
回答
0
/** * 這個函數將拖放sourceElement直到targetElement * @參數sourceElement * @參數targetElement */ 公共無效sliderDragDrop(WebElement sourceElement,WebElement targetElement) { INT xdraggerObj = sourceElement .getLocation()X。; int ydraggerObj = sourceElement.getLocation()。y;
int xLocatorTo=targetElement.getLocation().x;
int yLocatorTo=targetElement.getLocation().y;
String xTo=Integer.toString(xLocatorTo-xdraggerObj);
String yTo=Integer.toString(yLocatorTo-ydraggerObj);
((JavascriptExecutor) driver).executeScript(
"function simulate(f,c,d,e){var b,a=null;for(b in eventMatchers)if(eventMatchers[b].test(c)){a=b;break}if(!a)return!1;document.createEvent?(b=document.createEvent(a),a==\"HTMLEvents\"?b.initEvent(c,!0,!0):b.initMouseEvent(c,!0,!0,document.defaultView,0,d,e,d,e,!1,!1,!1,!1,0,null),f.dispatchEvent(b)):(a=document.createEventObject(),a.detail=0,a.screenX=d,a.screenY=e,a.clientX=d,a.clientY=e,a.ctrlKey=!1,a.altKey=!1,a.shiftKey=!1,a.metaKey=!1,a.button=1,f.fireEvent(\"on\"+c,a));return!0} var eventMatchers={HTMLEvents:/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,MouseEvents:/^(?:click|dblclick|mouse(?:down|up|over|move|out))$/}; "
+ "simulate(arguments[0],\"mousedown\",0,0); simulate(arguments[0],\"mousemove\",arguments[1],arguments[2]); simulate(arguments[0],\"mouseup\",arguments[1],arguments[2]); ",
sourceElement, xTo, yTo);
}
相關問題
- 1. 如何使用Selenium Webdriver滑動到滑塊中的特定點
- 2. 具有聚合物網站和影子根的Selenium WebDriver
- 3. 動態主題化和聚合物2
- 4. 聚合物模塊
- 5. 聚合物模塊
- 6. 如何使用selenium webdriver自動化高圖表和圖表?
- 7. 使物化滑塊響應
- 8. 使用Webdriver拖放滑塊java
- 9. 使用聚合物和requirejs
- 10. 如何在Selenium WebDriver中滑動{move}滑塊
- 11. 檢查滑塊是否能夠在Selenium Webdriver中滑動
- 12. 是否有任何選項使用Java和Selenium webdriver自動化API
- 13. 聚合物2.0:聚合物1.0雜化元素不適用於聚合物2.0?
- 14. 滑塊錯誤總是Selenium Webdriver
- 15. 自動化jQuery的滑塊
- 16. Selenium Webdriver使用Java的ElementNotVisibleException
- 17. 在聚合物1.0中使用iron-list進行平滑自動滾動
- 18. 使用jquery自動化滑塊?
- 19. Selenium Webdriver無頭/無GUI自動化
- 20. LINQ化合物聚合
- 21. 聚合物,發出帶有結合陣列紙滑塊值
- 22. 使用Selenium WebDriver與Java滾動
- 23. 使用window.Polymer聚合物優化= {dom:'shadow'}
- 24. 使用Selenium webdriver測試自動填充
- 25. 如何使用selenium webdriver自動化Silverlight應用程序?
- 26. 嘗試使用java中的selenium webdriver自動化gmail註冊頁面
- 27. 造型Google聚合物的紙張滑塊元素
- 28. 如何使用Selenium Webdriver自動化驗證碼?
- 29. 我可以使用Selenium Webdriver自動化Microsoft Dynamics AX嗎?
- 30. 聚合物硫化CSS