从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作
第一章 Selenium+WebDriver環境搭建
第二章 Selenium定位方式
第三章 元素常用屬性
第四章 自動化中的三種等待
第五章 自動化瀏覽器設置及句柄、窗口切換操作
第六章 鼠標、鍵盤操作
第七章 javascript在自動化中的應用
第八章 unittest&斷言
第九章 ddt數據驅動
第十章 測試框架搭建過程Python+Selenium+BeautifulReport
文章目錄
- 一、鼠標操作
- 二、鍵盤操作
一、鼠標操作
1、在web測試中,鼠標的操作包含在ActionChains類中,經常用到的有單擊、雙擊、右擊、拖動等操作。
2、在使用鼠標操作前需要先導入ActionChains類包:
3、常用操作
| context_click(ele) | 鼠標右鍵單擊 |
| double_click(ele) | 鼠標左鍵雙擊 |
| drag_and_drop(source, target) | 拖動到某個元素后松開 |
| move_to_element(ele) | 鼠標懸停在一個元素上 |
| click_and_hold(ele) | 鼠標左鍵單擊,不松開 |
| release() | 在某個元素上松開鼠標左鍵 |
| perform() | 執行上述鼠標操作 |
4、實操
①左擊操作:click(ele)
②右擊操作:context_click(ele)
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By import timedriver = 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 timedriver = 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 timedriver = 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 timedriver = 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 timedriver = 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類包:
3、常用操作
| 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 timedriver = 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鍵加相應操作。
隨手點贊一次,運氣增加一份。
總結
以上是生活随笔為你收集整理的从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果怎么录屏?还不知道怎么操作的快学习一
- 下一篇: caa catia 视图缩放_CATIA