状况说明:初次在作PC端使用chrome进行H5自动化测试时,觉得和app端自动化同样使用click()就能够对按钮进行点击,找了好几天也没有找到解决方法,有些人说是工程问题,有些人是使用微信进行H5测试,终于找到一篇文章介绍使用TouchAction模拟移动端触摸操做。html
环境:python
win10+python3+pycharm+webdriver 2.40+chrome 68.0.3440.75web
问题:chrome
使用chrome模拟手机进行H5自动化,某些button按钮使用click()没法点击微信
解决方法:app
使用selenuim库里TouchAction模拟鼠标在手机上实现触屏点击测试
页面状况:ui
deviceName查看处:spa
代码:orm
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.touch_actions import TouchActions
#设置chrome为手机浏览模式,deviceName就是手机型号
mobileEmulation = {'deviceName': 'iPhone 5'}
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', mobileEmulation)
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
driver.get("http://ip/my.html")
#输入帐号
driver.find_element_by_id("username").clear()
driver.find_element_by_id("username").send_keys("username")
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys("passwd")
sleep(3)
#点击登陆按钮
doc = driver.find_element_by_id("login")
TouchActions(driver).tap(doc).perform()
sleep(3)driver.quit()