用python實現selenium 自動化測試
web自動化測試方案
概要
- 對於web端自動化測試方案中目前使用範圍比較廣的有:puppeteer,pyppeteer,selenium。puppeteer是谷歌開發的瀏覽器測試框架,使用NodeJs開發;pyppeteer是基於puppeteer開發的python版本,但是這個版本的Bug修改以及更新比較慢。selenium是目前使用比較廣相對於比較穩定的web測試框架。
- 對於我們目前的web測試來說,pyppeteer和selenium都是足夠用的,但是目前還是比較傾向於selenium。主要是selenium還是使用範圍稍微廣點,網上資料多謝。
使用(selenium, Google瀏覽器測試)
python指令碼程式碼
- 由於網頁的渲染相對於程式執行來說還是比較慢的,連續點選或者需要等待頁面更新的還是需要增加一定的延時(測試過程中500毫秒的延時基本上可以解決)。
- 參考文件
https://blog.csdn.net/weixin_44318830/article/details/103339273
- 下載驅動
開啟瀏覽器,在位址列輸入chrome://version/便可以檢視到谷歌當前的版本號
http://chromedriver.storage.googleapis.com/index.html
下載和自己版本最近的版本
- 安裝驅動
將chromedriver.exe放到python的可執行目錄下
- 啟動
import time
import sys
from selenium import webdriver
# 這個包可以模擬鍵盤上所有的按鍵
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
# 配置預設模式
options = Options()
# 設定chrome瀏覽器無介面模式
# 無介面模式也可以截圖
options.add_argument('--headless')
# 禁用gpu優化
options.add_argument('--disable-gpu')
drive = webdriver.Chrome(options=options)
# 設定最大化
# (1)
drive.maximize_window()
# (2)
width = drive.execute_script('return document.body.parentNode.scrollWidth')
height = drive.execute_script('return document.body.parentNode.scrollHeight')
drive.set_window_size(width, height)
# 等待頁面啟動瀏覽器
driver.implicitly_wait(10) # seconds
try:
# 訪問服務
driver.get("http://localhost:8080/#/")
# 開始測試
# 說明:
# 我主要使用的是 driver.find_element_by_css_selector("")函式來查詢相關的標籤
# (1) 輸入框
element = driver.find_element_by_css_selector(".a378 .el-input__inner") #通過選擇器查詢相關的類 巢狀類使用 (空格隔開)
element.clear() #清除輸入框原有的資料(有些輸入框可能有預設資料)
element.send_keys("value") #給輸入框設定資料
# (2) 按鈕(需要點選)
driver.find_element_by_css_selector(".ab7b").click() #通過選擇器查詢相關的類 巢狀類使用 (空格隔開)
# (3) 下拉選單(連續執行下拉選單需要增加延時)
#通過選擇器查詢相關的類 巢狀類使用 (空格隔開) 展開下拉選單
driver.find_element_by_css_selector(".abab").click()
#列舉下拉選單項
element_list = driver.find_element_by_css_selector("div[x-placement] .el-select-dropdown__item span")
# (4) 時間選擇器
driver.find_element_by_css_selector(".aee1").click()
# 增加延時 需要時間顯示日曆頁面
time.sleep(0.5)
# 點選上一個月的按鈕
driver.find_element_by_css_selector("div[x-placement] .is-left .el-icon-arrow-left").click()
# 點選上一年的按鈕
driver.find_element_by_css_selector("div[x-placement] .is-left .el-icon-d-arrow-left").click()
# 點選下一個月的按鈕
driver.find_element_by_css_selector("div[x-placement] .is-right .el-icon-arrow-right").cliek()
# 點選下一年的按鈕
driver.find_element_by_css_selector("div[x-placement] .is-right .el-icon-d-arrow-right").click()
time.sleep(0.1)
# 選擇1號(第一個 available)
# 開始日期
driver.find_element_by_css_selector("div[x-placement] .is-left .available span").click()
# 結束日期
driver.find_element_by_css_selector("div[x-placement] .is-right .available span").click()
# 截圖
driver.save_screenshot('./login_pre.png')
finally:
# 關閉瀏覽器
driver.close()
視訊錄製
- 通過selenium IDE進行指令碼錄製
- 參考文件
https://zhuanlan.zhihu.com/p/137206279
- 安裝selenium
Google網上應用商店 查詢selenium ide
- 啟動selenium ide
- 進入selenium ide
點選 “Record a new test in a new project”
- 新增專案名
點選OK
- 新增需要錄製的網址,開始錄製
點選START RECORDING
- 停止錄製
相關文章
- selenium+python自動化測試Python
- selenium自動化測試
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- Selenium自動化測試(3)
- 使用 Python 和 Selenium 自動化網頁測試Python網頁
- python自動化測試工具selenium使用指南Python
- Web自動化測試 環境搭建(selenium+python)WebPython
- Python Selenium自動化測試框架 元素等待機制Python框架
- Selenium自動化測試網頁網頁
- java+selenium 自動化測試Java
- 自動化測試進階課程——Selenium自動化測試通關實戰班
- Selenium用法詳解 - - selenium自動化測試概要
- Web自動化測試 —— 測試環境搭建 (Selenium+Python) Windows篇WebPythonWindows
- Selenium自動化實現web自動化-1Web
- 基於Selenium+Python的web自動化測試框架PythonWeb框架
- Selenium用法 - - 自動化測試介紹
- 自動化測試 selenium 環境搭建
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- 自動化測試框架Selenium的使用——安裝Selenium框架
- python 桌面應用自動化測試Python
- 怎樣開始用selenium進行自動化測試?
- python+selenium UI自動化測試環境搭建及使用PythonUI
- Python實現效能自動化測試竟然如此簡單Python
- python自動化測試Python
- python+selenium實現自動搶票Python
- 如何實現高度自動化測試?
- Postman實現UI自動化測試PostmanUI
- selenium與python自動化測試模擬登入百度Python
- python3 使用 Selenium 自動化測試或爬取資料Python
- 自動化測試環境搭建之Python3.6+selenium44+firefoxPythonFirefox
- 自動化測試selenium在小公司的成功實踐
- API自動化測試平臺,高效實現對API的自動化測試API
- Appium+Python實現iOS自動化測試~環境搭建APPPythoniOS
- 滴滴雲控制檯 Selenium 自動化測試初探
- 使用Selenium自動化測試SAP CRM WebClient UIWebclientUI
- Selenium+Java自動化測試常用的方法Java
- 【自動化測試入門】用Airtest - Selenium對Firefox進行自動化測試(0基礎也能學會)AIFirefox
- Selenium3與Python3實戰Web自動化測試框架【日記1】PythonWeb框架