突破自动化测试瓶颈!WEB自动化测试鼠标与键盘操作最佳实践分享

目录

引言

鼠标操作方法

说明

实例化对象

方法

实例1

实例2 拖拽

注意

键盘操作

说明

Keys类

常用的键盘操作

案例

 结语


引言

在现代软件测试中,WEB自动化测试已经成为了必不可少的一部分,然而,面对各种繁琐的测试场景,如何通过最佳实践提高测试效率和测试质量仍然是一个挑战。

于是,我为大家准备了一份内容丰富的鼠标和键盘操作最佳实践分享指南,涵盖了各种常见的测试用例和解决方案,是您实现自动化测试提升的不二选择。

通过这个指南,您将能够深入了解WEB自动化测试的关键技巧和方法,掌握鼠标和键盘操作的技能,让您的测试更加智能、高效。如果您想要突破自动化测试的瓶颈,那么不妨点击查看这个指南,一起开启WEB自动化测试的新篇章吧!

鼠标操作方法

说明

  • 在Selenium中将操作鼠标的方法封装在ActionChains类中

实例化对象

action = ActionChains(driver)

方法

  1. context_click(element).perform( ) 右击 --> 模拟鼠标右键点击效果
  2. double_click(element).perform( ) 双击 --> 模拟鼠标双击效果
  3. drag_and_drop(source, target).perform( ) 拖拽 --> 模拟鼠标拖动效果
  4. move_to_element(element) .perform( ) 悬停 --> 模拟鼠标悬停效果
  5. perform( ) 执行 --> 此方法用来执行以上所有鼠标操作

为了更好的学习其他方法,先学习perform()执行方法,因为所有的方法都需要执行才能生效

提示

  • selenium框架中虽然提供了右击鼠标方法,但是没有提供选择右击菜单方法,可以通过发送快捷键的方式解决。(经测试,谷歌浏览器不支持)

实例1

  • 连续操作不了,得一个功能一个功能操作
  • 这个里没有拖拽方法(需要能拖拽的页面才能实现)
# 右击 双击 移动到按钮上
from selenium import webdriver
from time import sleep

from selenium.webdriver import ActionChains, Keys
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
url = r"https://www.sogou.com/"
driver.get(url)

# 实例化ActionChains对象
action = ActionChains(driver)
# context_click(element).perform( )    右击 --> 模拟鼠标右键点击效果
context = driver.find_element(By.ID, "query")
action.context_click(context).perform()
# 传入快捷键p 粘贴
# context.send_keys("p")
# 模拟ctrl+v 粘贴
context.send_keys(Keys.CONTROL, 'v')
sleep(3)
context.submit()
sleep(3)

# 后退
driver.back()


# double_click(element).perform( )     双击 -->  模拟鼠标双击效果
click_two = driver.find_element(By.ID, "query")
click_two.send_keys("双击")
action.double_click(click_two).perform()
sleep(3)

# move_to_element(element) .perform( )     悬停 -->   模拟鼠标悬停效果
more = driver.find_element(By.CLASS_NAME, "m-arr")
action.move_to_element(more).perform()


sleep(3)
driver.quit()

实例2 拖拽

action = ActionChains(driver)
# 获取源元素
source = driver.find_element(By.CSS_SELECTOR, "#div1")
# 获取目标元素
target = driver.find_element(By.CSS_SELECTOR, "#div2")
sleep(2)
action.drag_and_drop(source,target).perform()

# 扩展 —— 偏移量
action.drag_and_drop_by_offset(source,xoffset=360,yoffset=180).perform()

# 暂停2
sleep(2)

注意

  • 鼠标操作必须在调用 perform( ) 后才能执行

键盘操作

如何实现复制、粘贴的操作?

说明

  1. 模拟键盘上一些按键或组合键的输入,如:Ctrl+C、Ctrl+V
  2. Seleuim中把键盘的按键都封装在Keys类中

Keys类

  • 导包:

    from selenium.webdriver import Keys
    

常用的键盘操作

send_keys(Keys.BACK_SPACE)删除键(BackSpace)
send_keys(Keys.SPACE)空格键(Space)
send_keys(Keys.TAB)制表键(Tab)
send_keys(Keys.ESCAPE)回退键(Esc)
send_keys(Keys.ENTER)回车键(Enter)
send_keys(Keys.CONTROL, 'a')全选(Ctrl+A)
send_keys(Keys.CONTROL, 'c')复制(Ctrl+C)

案例

需求:打开页面,完成以下操作
1.输入:admin1,暂停两秒,删除1
2.全选:admin,暂停2秒
3.复制:admin,暂停2秒
4.粘贴到密码框
from selenium import webdriver
from time import sleep

from selenium.webdriver import ActionChains, Keys
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
url = r"https://www.sogou.com/"
driver.get(url)

# 学习使用键盘操作
# 需求:打开页面,完成以下操作
# 1.输入:admin1,暂停两秒,删除1
context = driver.find_element(By.ID, "query")
context.send_keys("admin1")
sleep(2)
context.send_keys(Keys.BACK_SPACE)
# 2.全选:admin,暂停2秒
context.send_keys(Keys.CONTROL, 'A')
sleep(2)
# 3.复制:admin,暂停2秒
context.send_keys(Keys.CONTROL, 'C')
sleep(2)
context.send_keys(Keys.BACK_SPACE)
# 4.粘贴到密码框
context.send_keys(Keys.CONTROL, 'V')
sleep(1)
driver.quit()

 ------------------------------------

 获取方式:留言【软件测试学习】即可

 结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值