Webdriver使用Chrome模拟手机浏览器测试移动版网站
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
初始化一個(gè)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);
但是針對(duì)一些按鈕,移動(dòng)版的網(wǎng)站js綁定的touch事件,實(shí)際執(zhí)行的時(shí)候,會(huì)報(bào)錯(cuò)。翻墻查詢了,發(fā)現(xiàn)需要重新實(shí)現(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事件了。
???????記錄自動(dòng)化測(cè)試過程中的遇到的各種坑
轉(zhuǎn)載于:https://my.oschina.net/u/1425843/blog/734376
總結(jié)
以上是生活随笔為你收集整理的Webdriver使用Chrome模拟手机浏览器测试移动版网站的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日本企业推出乘气球观太空项目 低头看地球
- 下一篇: 96核Zen4也带不动 AMD摇钱树业务