webdriver自动化测试_鼠标事件
2015-09-03 18:07
471 查看
我们在实际的web 产品测试中发现,有关鼠标的操作,不单单只有单,有时候还要和到右击,双击,拖动等操作,这些操作包含在ActionChains 类中。
ActionChains 类鼠标操作的常用方法:
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上
鼠标右击操作
context_click() 右键点击一个元素。
如图,假如一个web 应用的列表文件提供了右击弹出快捷菜单的的操作。可以通过context_click()方法模拟鼠标右键,参考代码如下:
from selenium.webdriver.common.action_chains import ActionChains
这里需要注意的是,在使用ActionChains 类下面的方法之前,要先将包引入。
ActionChains(driver)
driver: wedriver 实例执行用户操作。
ActionChains 用于生成用户的行为;所有的行为都存储在actionchains 对象。通过perform()执行存储的行为。
perform()
执行所有ActionChains 中存储的行为。perfrome()同样也是ActionChains 类提供的的方法,通常与ActionChains()配合使用。
除了鼠标右击之外,ActionChains 类还提供了其它的比较复杂的鼠标方法。
鼠标双击操作
double_click(on_element)
双点击页面元素。例如:
对于操作系统的操作来说,双击使用相当频繁,但对于web 应用来说双击的用户比较少,笔者唯一能想到想的场景是地图程序(如百度地图),可以通过双击鼠标放大地图。
鼠标拖放操作
drag_and_drop(source, target)
在源元素上按下鼠标左键,然后移动到目标元素上释放。
source: 鼠标按下的源元素。
target: 鼠标释放的目标元素。
鼠标拖放操作的参考代码如下:
鼠标移动上元素上
move_to_element()
模拟鼠标移动到一个元素上。
按下鼠标左键
click_and_hold()
按住鼠标左键在一个元素。
ActionChains 类鼠标操作的常用方法:
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上
鼠标右击操作
context_click() 右键点击一个元素。
如图,假如一个web 应用的列表文件提供了右击弹出快捷菜单的的操作。可以通过context_click()方法模拟鼠标右键,参考代码如下:
#引入ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains #定位到要右击的元素 right =driver.find_element_by_xpath("xx") #对定位到的元素执行鼠标右键操作 ActionChains(driver).context_click(right).perform()
from selenium.webdriver.common.action_chains import ActionChains
这里需要注意的是,在使用ActionChains 类下面的方法之前,要先将包引入。
ActionChains(driver)
driver: wedriver 实例执行用户操作。
ActionChains 用于生成用户的行为;所有的行为都存储在actionchains 对象。通过perform()执行存储的行为。
perform()
执行所有ActionChains 中存储的行为。perfrome()同样也是ActionChains 类提供的的方法,通常与ActionChains()配合使用。
除了鼠标右击之外,ActionChains 类还提供了其它的比较复杂的鼠标方法。
鼠标双击操作
double_click(on_element)
双点击页面元素。例如:
#引入ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到要双击的元素 double =driver.find_element_by_xpath("xxx") #对定位到的元素执行鼠标双击操作 ActionChains(driver).double_click(double).perform()
对于操作系统的操作来说,双击使用相当频繁,但对于web 应用来说双击的用户比较少,笔者唯一能想到想的场景是地图程序(如百度地图),可以通过双击鼠标放大地图。
鼠标拖放操作
drag_and_drop(source, target)
在源元素上按下鼠标左键,然后移动到目标元素上释放。
source: 鼠标按下的源元素。
target: 鼠标释放的目标元素。
鼠标拖放操作的参考代码如下:
#引入ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位元素的原位置 element = driver.find_element_by_name("xxx") #定位元素要移动到的目标位置 target = driver.find_element_by_name("xxx") #执行元素的移动操作 ActionChains(driver).drag_and_drop(element, target).perform()
鼠标移动上元素上
move_to_element()
模拟鼠标移动到一个元素上。
#引入ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到鼠标移动到上面的元素 above = driver.find_element_by_xpath("xxx") #对定位到的元素执行鼠标移动到上面的操作 ActionChains(driver).move_to_element(above).perform()
按下鼠标左键
click_and_hold()
按住鼠标左键在一个元素。
#引入ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到鼠标按下左键的元素 left=driver.find_element_by_xpath("xxx") #对定位到的元素执行鼠标左键按下的操作 ActionChains(driver).click_and_hold(left).perform()
相关文章推荐
- mt4常用函数和常量
- 纯css 图片自适应居中
- sql server 2012 查询时间段月份数据方法
- 3dsmax修改对象的旋转中心的位置
- 网络基础配置
- (转载)线程天敌TerminateThread与SuspendThread
- Nginx 简单的负载均衡配置示例
- 剑指offer——面试题40:数组中只出现一次的数字
- CPlus播放多媒体之播放声音
- swift 学习<三> 数组
- C++基础---string类的构造函数
- 【FZUOJ 2178】礼物分配 (折半查找+二分)
- Android与设计模式:用单一职责则为Activity解耦
- 来看看C语言的-1>1并且小有1的问题
- 绘制图像直方图
- Android开发之消息推送
- 解析nginx负载均衡
- Xcode常见错误file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/
- HDU 1060 Leftmost Digit (数学/大数)
- [LeetCode] Majority Element