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)

方法:

  1. context_click(element)
    右击 --> 模拟鼠标右键点击效果

  2. double_click(element)
    双击 --> 模拟鼠标双击效果

  3. drag_and_drop(source, target)
    拖动 --> 模拟鼠标拖动效果

  4. move_to_element(element)
    悬停 --> 模拟鼠标悬停效果

  5. 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—鼠标操作的主要内容,如果未能解决你的问题,请参考以下文章

Selenium - Web自动化测试的基本操作实现

Web自动化测试框架Selenium在Python中的使用

web自动化测试—selenium游览器下拉框操作

web自动化测试-D3-学习笔记之四(Selenium-ActionChainsApi接口详解)

Selenium 的 ActionChains

自动化测试——selenium(完结篇)