文章目录

  • ​​学习目标​​
  • ​​一、鼠标操作​​
  • ​​1.1 为什么要操作鼠标​​
  • ​​1.2 鼠标操作方法​​
  • ​​实例化对象​​
  • ​​1.3 鼠标执行-perform()​​
  • ​​1.4 鼠标右键-context_click()​​
  • ​​1.5 鼠标双击-double_click()​​
  • ​​1.6 1.6鼠标拖动-drag_and_drop()​​
  • ​​1.7 鼠标悬停-move_to_element()​​
  • ​​1.8 鼠标操作总结​​

学习目标

我们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.鼠标执行