Web自动化测试07:Selenium—鼠标操作
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web自动化测试07:Selenium—鼠标操作相关的知识,希望对你有一定的参考价值。
更多功能测试以及全套学习路线图均在专栏,↑↑戳进去领取~
👼 Web自动化测试01:认识web自动化在什么项目中适用
👼Web自动化测试02:Web自动化测试工具选择大全
👼Web自动化测试03:Selenium安装配置,详细教程
👼Web自动化测试04:Selenium-API操作之元素定位
👼Web自动化测试05:Selenium-CSS定位
👼Web自动化测试06:元素操作、浏览器操作方法以及获取元素信息
文章目录
学习目标
我们web自动化的内容,一共分为七个模块。今天开始第二章的学习,Selenium-API操作相关内容。如果你们还想回顾功能测试等等相关内容欢迎关注上方专栏!!!
本文学习目标:
1.掌握鼠标操作的方法
2.掌握键盘操作的方法
一、鼠标操作
常见的鼠标操作有:点击、右击、双击、悬停、拖拽等,对于这些鼠标操作Selenium都封装了相应的操作方法。
1.1 为什么要操作鼠标
现在web产品中存在丰富的鼠标交互方式,作为一个web自动化测试框架,需要应对这些鼠标操作的应用场景。
1.2 鼠标操作方法
说明:在Selenium中将操作鼠标的方法封装在ActionChains类中。
实例化对象
action = ActionChains(driver)
方法:
-
context_click(element)
右击 --> 模拟鼠标右键点击效果 -
double_click(element)
双击 --> 模拟鼠标双击效果 -
drag_and_drop(source, target)
拖动 --> 模拟鼠标拖动效果 -
move_to_element(element)
悬停 --> 模拟鼠标悬停效果 -
perform()
执行 --> 此方法用来执行以上所有鼠标操作
为了更好的学习其他方法,我们先学习perform()执行方法,因为所有的方法都需要执行才能生效。
1.3 鼠标执行-perform()
说明:在ActionChains类中所有提供的鼠标事件方法,在调用的时候所有的行为都存储在ActionChains对象中,
而perform()方法就是真正去执行所有的鼠标事件。
强调:必须调用perform()方法才能执行鼠标事件
1.4 鼠标右键-context_click()
说明:对于点击鼠标右键,如果弹出的是浏览器默认的菜单,Selenium没有提供操作菜单选项的方法; 如果是自定义的右键菜单,则可以通过元素定位来操作菜单中的选项。
练习:
需求:打开注册页面A,在用户名文本框上点击鼠标右键。
代码实现关键点分析
1.导包:from selenium.webdriver.common.action_chains import ActionChains
2.实例化ActionChains对象:action = ActionChains(driver)
3.调用右键方法:action.context_click(element)
4.执行:action.perform()
1.5 鼠标双击-double_click()
说明:模拟双击鼠标左键操作
练习
需求:打开主页页面A,输入用户名admin,暂停3秒钟后,双击鼠标左键,选中admin
1.6 1.6鼠标拖动-drag_and_drop()
说明:模拟鼠标拖动动作,选定拖动源元素释放到目标元素。
拖动关键点分析
1.源元素 source = driver.find_element_by_id(xxx)
2.目标元素 target = driver.find_element_by_id(xxx)
3.调用方法 action.drag_and_drop(source, target).perform()
联系:打开‘drag.html’页面,把红色方框拖拽到蓝色方框上
1.7 鼠标悬停-move_to_element()
说明: 模拟鼠标悬停在指定的的元素上
练习需求:打开注册页面A,模拟鼠标悬停在‘注册’按钮上
1.8 鼠标操作总结
1.鼠标右击
2.鼠标双击
3.鼠标拖拽
4.鼠标悬停
5.鼠标执行
以上是关于Web自动化测试07:Selenium—鼠标操作的主要内容,如果未能解决你的问题,请参考以下文章