在Selenium中,我们可以使用mobileEmulation将chrome驱动程序更改为移动模式
mobile_emulation = {
"deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
"userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" }
chrome_options = Options()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
webdriver.Chrome(chrome_options = chrome_options)
我已经检查了pytest-selenium有功能选项但不适用于用户代理
我有什么解决方案来模拟pytest-selenium中的移动设备吗?
感谢
答案 0 :(得分:0)
临时解决方案是将代码放在conftest.py
上使用yield diver让pytest-selenium获取dirver信息。
@pytest.yield_fixture
def mobileSelenium(request):
mobile_emulation = {
"deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
"userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" }
chrome_options = Options()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(chrome_options = chrome_options)
request.node._driver = driver
yield driver
driver.quit()