从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作

第一章 Selenium+WebDriver环境搭建
第二章 Selenium定位方式
第三章 元素常用属性
第四章 自动化中的三种等待
第五章 自动化浏览器设置及句柄、窗口切换操作
第六章 鼠标、键盘操作
第七章 javascript在自动化中的应用
第八章 unittest&断言
第九章 ddt数据驱动
第十章 测试框架搭建过程Python+Selenium+BeautifulReport



一、鼠标操作

1、在web测试中,鼠标的操作包含在ActionChains类中,经常用到的有单击、双击、右击、拖动等操作。
2、在使用鼠标操作前需要先导入ActionChains类包:

from selenium.webdriver.common.action_chains import ActionChains

3、常用操作

click(ele)鼠标左键单击
context_click(ele)鼠标右键单击
double_click(ele)鼠标左键双击
drag_and_drop(source, target)拖动到某个元素后松开
move_to_element(ele)鼠标悬停在一个元素上
click_and_hold(ele)鼠标左键单击,不松开
release()在某个元素上松开鼠标左键
perform()执行上述鼠标操作

4、实操
①左击操作:click(ele)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 定位到搜索栏,输入"selenium"
driver.find_element(By.ID, "kw").send_keys("selenium")
# 定位到百度一下按钮
ele = driver.find_element(By.ID, "su")
# 实例化ActionChains类
action = ActionChains(driver)
# 调用click()点击操作
click_ele = action.click(ele)
# 点击后必须调用perform()执行
click_ele.perform()
time.sleep(3)
driver.quit()

②右击操作:context_click(ele)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 定位到百度一下按钮
ele = driver.find_element(By.ID, "su")
# 实例化ActionChains类
action = ActionChains(driver)
# 调用contex_click()点击右键操作
right_click_ele = action.context_click(ele)
# 点击后必须调用perform()执行
right_click_ele.perform()
time.sleep(3)
driver.quit()

③双击操作:double_click(ele)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 找到搜索栏元素
search = driver.find_element(By.ID, "kw")
# 输入"selenium"
search.send_keys("selenium")
time.sleep(3)
# 实例化ActionChains类
action = ActionChains(driver)
# 调用double_click()双击操作输入框
double_ele = action.double_click(search)
# 点击后必须调用perform()执行
double_ele.perform()
time.sleep(3)
driver.quit()

④拖动操作:drag_and_drop(ele1, ele2)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 找到百度热搜元素
hot_search = driver.find_element(By.CLASS_NAME, "hot-title")
# 找到百度搜索栏输入框
search = driver.find_element(By.ID, "kw")
# 实例化ActionChains类
action = ActionChains(driver)
# 调用drag_and_drop()按住第一个元素,拖动到第二个元素松开,并调用perform()执行
action.drag_and_drop(hot_search, search).perform()
time.sleep(3)
driver.quit()

⑤悬停操作:move_to_element(ele)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 找到百度热搜元素
hot_search = driver.find_element(By.CLASS_NAME, "hot-title")
time.sleep(3)
# 实例化ActionChains类
action = ActionChains(driver)
# 鼠标悬停在百度热搜元素上,并执行
action.move_to_element(hot_search).perform()
time.sleep(3)
driver.quit()

⑥按下左键操作:click_and_hold(ele)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 找到百度热搜元素
hot_search = driver.find_element(By.CLASS_NAME, "hot-title")
time.sleep(3)
# 实例化ActionChains类
action = ActionChains(driver)
# 在百度热搜元素上按下鼠标左键不松开
action.click_and_hold(hot_search).perform()
time.sleep(3)
driver.quit()

二、键盘操作

1、在web测试中,键盘操作我们常有的如删除、空格、回车、复制、粘贴等。而这些操作都包含在Keys类中。
2、在使用键盘操作前需要先导入Keys类包:

from selenium.webdriver.common.keys import Keys

3、常用操作

send_keys(Keys.BACK_SPACE)删除键(BackSpace)
send_keys(Keys.SPACE)空格键(Space)
send_keys(Keys.TAB)制表键(Tab)
send_keys(Keys.COMMAND)回退(Esc)
send_keys(Keys.ENTER)回车(Enter)
send_keys(Keys.CONTROL,‘a’)全选(Ctrl+A)
send_keys(Keys.CONTROL,‘c’)复制(Ctrl+C)
send_keys(Keys.CONTROL,‘x’)剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘v’)粘贴(Ctrl+V)
send_keys(Keys.F1)键盘F1
send_keys(Keys.F5)键盘F5
send_keys(Keys.F12)键盘F12

注意:mac系统要将CONTROL键替换成COMMAND键!

4、实操

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
# 定位搜索输入栏元素
search = driver.find_element(By.ID, "kw")
# 输入"sleenium"
search.send_keys("selenium")
time.sleep(3)
# 删除最后一个字母
search.send_keys(Keys.BACK_SPACE)
time.sleep(3)
# 全选
search.send_keys(Keys.COMMAND, "a")
time.sleep(3)
# 复制
search.send_keys(Keys.COMMAND, "c")
time.sleep(3)
# 输入一个空格
search.send_keys(Keys.SPACE)
time.sleep(3)
# 粘贴
search.send_keys(Keys.COMMAND, "v")
time.sleep(3)
driver.quit()

注意:我这里用的是mac系统,用的是COMMAND键,Windows系统应该是CONTROL键加相应操作。

随手点赞一次,运气增加一份。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: CAPL(Communication Access Programming Language)是一种用于编写通信测试脚本的语言,常用于CANoe中进行自动化测试。CAPL脚本的代码结构可以根据需求进行灵活编写,但通常包括以下几个部分:引用\[2\] 1. 前言:在脚本的开头部分,可以进行一些初始化设置和声明变量等操作。 2. 主要逻辑:在主要逻辑部分,可以编写测试用例的执行流程和相应的功能实现。可以使用条件语句、循环语句、函数调用等来实现不同的测试场景。 3. 函数定义:CAPL脚本中可以定义自己的函数,用于封装一些常用的操作或功能。这些函数可以在主要逻辑中被调用,提高代码的复用性和可读性。 4. 结束语:在脚本的结尾部分,可以进行一些清理操作或输出测试结果等。 对于UDS(Unified Diagnostic Services)的自动化测试,可以根据具体需求编写相应的CAPL脚本。在脚本中,可以使用UDS相关的函数和命令来实现对诊断功能的测试,包括发送诊断请求、接收诊断响应、解析响应数据等。同时,根据引用\[1\]中提到的半自动化脚本的需求,可以在脚本中添加手动确认功能的步骤,以确保功能配置的正确性。 总之,CAPL脚本可以根据具体的测试需求进行编写,通过调用相关函数和命令来实现对UDS功能的自动化测试。 #### 引用[.reference_title] - *1* *2* [UDS-基于CAPL的半自动化脚本编写流程](https://blog.csdn.net/wjz110201/article/details/124704882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [搭配Panel界面及使用Capl识别配置文件TXT编写基于14229的UDS自动化测试流程)](https://blog.csdn.net/qq_36407982/article/details/109131802)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拒绝内卷的小测试

感谢老板的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值