现在的 IT 以移动互联网为主,所以一般网站系统都会支持移动模式。
移动设备与 PC 网页浏览区别最大的就是分辨率,大型网站为了体验使用移动设备访问时都会专门提供移动版本。而其他很多站点也是采用响应式设计,也可以支持移动设备以较好的访问。
我们也需要测试网页在移动设备上的表现,而直接在手机上调用浏览器实现测试过程麻烦且受环境影响很大。我们可以通过在 PC 上模拟移动设备(主要是分辨率和 User-Agent)访问网页来达到测试目的。
Chrome 提供了移动设备的模拟, 在开发者模式下点击Toggle device toolbar
可以进入设备模拟状态。
我们可以看到百度的首页变成了适配移动设备的网页而不是我们在电脑上看到的界面。
那么我们在自动化测试中如何实现呢?
在开发者工具栏移动设备状态下,点击上面的设备名称可以选择对应的设备。
在配置中指定一个已有的设备名称,如iPhone X
:
from selenium import webdriver
# 添加 Chrome 相关配置
options = webdriver.ChromeOptions()
# 指定设备名称即可
options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone X'})
driver = webdriver.Chrome(chrome_options=options) # => 打开浏览器时加入配置
driver.get("http://www.baidu.com")
# 观察一下
time.sleep(5)
driver.quit()
模拟效果如下: