Selenium界面自动化测试(Python):鼠标和键盘事件
鼠标和键盘是电脑的常用输入设备,那么对鼠标和键盘事件的模拟就必不可少了。
1. 鼠标事件
鼠标事件是指模拟鼠标的输入事件。
之前的文章中使用了click方法模拟鼠标单击,除此之外Selenium还支持双击、右击:
action_chains = ActionChains(driver)
action_chains.double_click(web_element).perform()
action_chains.context_click(web_element).perform()
ActionChains对象的double_click和context_click方法分别表示双击和右击鼠标,但要实际执行操作需要调用其perform方法。
ActionChains类内置了复杂的鼠标操作,比如以下代码表示在元素1(web_element_001)上按下鼠标,然后将元素1拖动到元素2(web_element_002)上,最后松开鼠标:
action_chains = ActionChains(driver)
action_chains.click_and_hold(web_element_001).move_to_element(web_element_002).release(web_element_002).perform()
此外,还有一个drag_and_drop方法,其可看做是以上一系列操作的简化版:
action_chains = ActionChains(driver)
action_chains.drag_and_drop(web_element_001, web_element_002).perform()
2. 键盘事件
键盘事件是指模拟键盘的输入事件。
之前的文章中使用了send_keys方法向输入框中输入文本,这只是send_keys方法的最基本用法。除了接受字符串,send_keys方法还可以接受Keys类属性作为参数:
web_element.send_keys(Keys.ENTER)
以上代码模拟按键盘的回车键。
当然sendKeys方法也支持模拟按组合键:
web_element.send_keys(Keys.CONTROL, 'a')
以上代码模拟按键盘的“Ctrl + A”组合键。
如需清除元素的已有文本,可调用WebElement对象的clear方法,该方法用于清除元素的文本。
对于键盘事件,除了send_keys和clear方法外,ActionChains类也支持键盘事件:
action_chains = ActionChains(driver)
action_chains.key_down(Keys.SHIFT).send_keys_to_element(web_element, 'qwerty').key_up(Keys.SHIFT).send_keys(
'qwerty').perform()
以上代码实例化了一个ActionChains对象,然后设置要执行的输入,最后调用perform方法执行一系列动作。其中的send_keys_to_element方法的第一个参数为一个元素,key_down和key_up方法分别表示按下和松开按键,因此以上代码实际上是向web_element变量代表的元素中输入“QWERTYqwerty”字符串。
另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取免费软件测试资料以及群内测试大牛解惑!
测试工程师职业发展路线图
功能测试 — 接口测试 — 自动化测试 — 测试开发 — 测试架构师
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。
资源不错就给个推荐吧~
上一篇: 接口测试平台:支持函数助手
推荐阅读
-
Selenium界面自动化测试(Python):鼠标和键盘事件
-
Python中使用PyHook监听鼠标和键盘事件实例
-
selenium+python自动化测试之鼠标和键盘事件
-
selenium+python自动化测试之鼠标和键盘事件
-
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
-
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
-
Python selenium键盘鼠标事件实现过程详解
-
python+selenium自动化(七)__键盘、鼠标操作及下拉框
-
Python中使用PyHook监听鼠标和键盘事件实例
-
Selenium3 + Python3自动化测试系列四——鼠标事件和键盘事件