键盘操作概述
- 自动化测试的本质使用程序运行代替对于网页的人工操作。
- 用户在网页上操作时,可能会按下键盘上的各种按键。
- 比如:
- 输入登录账号信息后,直接在文本框里按下键盘上的回车键,也可以像点击“立即登陆”按钮一样,把账号数据提交给后台服务器。
- 输入登录账号信息后,直接在文本框里按下键盘上的回车键,也可以像点击“立即登陆”按钮一样,把账号数据提交给后台服务器。
Keys类
selenium提供了完整的模拟键盘操作事件,模拟键盘的操作需要先导入键盘操作专用类Keys:
from selenium.webdriver.common.keys import Keys
模拟按键操作的语法:
元素对象.send_keys(Keys.常量)
说明:这些常量作为send_keys方法的参数使用即可模拟用户对于该按键的点击操作,如果模拟多个按键组合操作,就给send_keys方法添加多个参数即可。
常用的键盘按键
常用的键盘按键:Keys类里的常量含义
示例:driver.find_element(By.NAME,”password”).send_keys(Keys.ENTER)
"""
打开首页,输入关键字806,模拟客户在关键字文本框里按下回车来进行搜索,等待3秒,在关键字文本框点击后,
依次按下END、左箭头(←)、Delete键删除6,再次按下回车来进行搜索。
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php')
kw = driver.find_element(By.ID,'keyword')
kw.send_keys('806')
kw.send_keys(Keys.ENTER)
sleep(3)
kw = driver.find_element(By.ID,'keyword')
kw.click()
kw.send_keys(Keys.END)
kw.send_keys(Keys.ARROW_LEFT)
kw.send_keys(Keys.DELETE)
kw.send_keys(Keys.ENTER)
sleep(3)
driver.quit()
"""
打开前台登录页,输入用户名vip,对用户名文本框连续使用组合按键Ctrl+a 和 Ctrl+c全选后复制其中的内容
到密码文本框里使用组合键Ctrl+v粘贴,在输入回车键确认登录
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/user.php')
username = driver.find_element(By.NAME,'username')
username.send_keys('vip')
username.send_keys(Keys.CONTROL,'a')
username.send_keys(Keys.CONTROL,'c')
password = driver.find_element(By.NAME,'password')
password.send_keys(Keys.CONTROL,'v')
password.send_keys(Keys.ENTER)
sleep(3)
打开前台登录页,输入用户名vip,对用户名文本框连续使用组合按键Ctrl+a和Ctrl+c全选后复制其中内容,
到密码文本框里使用组合键Ctrl+v粘贴,再输入回车键确认登录。
在登录之后,点击“留言板”,定位电子邮件地址文本框,按下Home键光标回到行首、Ctrl+右箭头(→)连续点击三次,
选中三个字符vip、Ctrl+c复制、到主题文本框里Ctrl+v粘贴,到留言内容里输入“我是”、Ctrl+v粘贴,Enter回车换行,再输入“请问有优惠吗”,在主题文本框里按下回车。