Webdriver使用Chrome模拟手机浏览器测试移动版网站
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
初始化一個driver
????????????System.setProperty("webdriver.chrome.driver", chromeDriverPath);
?? ??? ??? ?Map<String, String> mobileEmulation = new HashMap<String, String>();
?? ??? ??? ?mobileEmulation.put("deviceName", "Google Nexus 5");
?? ??? ??? ?Map<String, Object> chromeOptions = new HashMap<String, Object>();
?? ??? ??? ?chromeOptions.put("mobileEmulation", mobileEmulation);
?? ??? ??? ?DesiredCapabilities capabilities?= DesiredCapabilities.chrome();
?? ??? ??? ?capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
? ? ? ? ? ??WebDriver?driver = new MobileChromeDriver(capabilities);
但是針對一些按鈕,移動版的網(wǎng)站js綁定的touch事件,實際執(zhí)行的時候,會報錯。翻墻查詢了,發(fā)現(xiàn)需要重新實現(xiàn)下ChromeDriver的TouchScreen方法
????????????
public class MobileChromeDriver extends ChromeDriver implements HasTouchScreen{
?? ?private RemoteTouchScreen touch;
?? ?
?? ?public MobileChromeDriver(Capabilities capabilities) {
?? ??? ?super(capabilities);
?? ??? ?touch = new RemoteTouchScreen(getExecuteMethod());
?? ?}
?? ?
?? ?public TouchScreen getTouch() {
?? ??? ?return touch;
?? ?}
}
使用MobileChromeDriver初始化瀏覽器,這樣就可以支持touch事件了。
???????記錄自動化測試過程中的遇到的各種坑
轉(zhuǎn)載于:https://my.oschina.net/u/1425843/blog/734376
總結
以上是生活随笔為你收集整理的Webdriver使用Chrome模拟手机浏览器测试移动版网站的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日本企业推出乘气球观太空项目 低头看地球
- 下一篇: 前端实现搜索记录功能