????????本篇記錄基于Python+Selenium.webdriver實現(xiàn)WEB端UI自動化測試,其中測試用例使用excel維護。為了在實際項目種的擴展應(yīng)用,建議學習webdriver的元素定位方法,歡迎在評論區(qū)溝通討論。
1.項目選?。ǖ卿涰摕o驗證碼校驗的項目)
該示例選取的是登錄頁不需要輸入驗證碼校驗的基礎(chǔ)頁面(考慮到現(xiàn)在大部分項目都是需要進行驗證碼校驗的,后面研究后再出一篇相關(guān)的分享。)
2.環(huán)境搭建
2.1安裝Python
官網(wǎng)目前已經(jīng)更新到python3.9.7,大家可以到官網(wǎng)下載并安裝
安裝包地址:Welcome to Python.org
2.2安裝Selenium
命令:pip install selenium
或使用pycharm安裝
2.3安裝瀏覽器驅(qū)動
1.以Google Chrome瀏覽器為例,打開瀏覽器--幫助--關(guān)于Google Chrome,查看瀏覽器版本。
2.訪問http://chromedriver.storage.googleapis.com/index.html,下載瀏覽器對應(yīng)版本號的驅(qū)動軟件。
3.驅(qū)動文件放到python的安裝目錄下(和python.exe相同目錄)。
3.項目示例
?3.1測試數(shù)據(jù)
包括編號、用例描述、元素定位方法及對應(yīng)數(shù)據(jù),定位到元素后的操作方法及數(shù)據(jù)。
3.2 通用腳本代碼(可復(fù)用)
示例腳本:Selenium_UI_Test.py
from selenium import webdriver
from selenium.webdriver.support.select import Select
class Selenium_UI_Test01(object):
"""
1.8種元素定位方法
2.quit()-退出,關(guān)閉所有標簽頁;
3.refresh()-瀏覽器刷新
"""
def selemium_find_element(self,driver,method,data):
if method == "find_element_by_id":
return driver.find_element_by_id(data)
elif method == "find_element_by_name":
return driver.find_element_by_name(data)
elif method == "find_element_by_class_name":
return driver.find_element_by_class_name(data)
elif method == "find_element_by_tag_name":
return driver.find_element_by_tag_name(data)
elif method =="find_element_by_link_text":
return driver.find_element_by_link_text(data)
elif method == "find_element_by_partial_link_text":
return driver.find_element_by_partial_link_text(data)
elif method == "find_element_by_xpath":
return driver.find_element_by_xpath(data)
elif method == "":
return driver.find_element_by_css_selector(data)
elif method =='refresh':
return driver.refresh()
elif method =='quit':
return driver.quit()
else:
print("請檢查元素定位方法是否正確!")
#定位到元素后可執(zhí)行的操作
#1.點擊和輸入:clear()-清空輸入框、click()-點擊、send_keys()-發(fā)送關(guān)鍵字
def operator_element(self,element,method,data):
if "click" in method:
element.click()
elif "send_keys" in method:
element.send_keys(data)
elif "clear" in method:
element.clear()
elif 'select' in method:
Select(element).select_by_index(data)
else:
print("請檢查操作方法是否正確!")
3.3測試用例腳本
示例腳本:
Selenium_UI_Test_gsc.py
讀取excel中的測試用例,調(diào)用通用腳本中定義的方法,執(zhí)行測試用例。
from openpyxl import load_workbook
from selenium import webdriver
import common.Selenium_UI_Test as SUT
sut = SUT.Selenium_UI_Test01()
import time
t = time.strftime("%Y%m%d%H%M")
driver = webdriver.Chrome()
driver.get("https://www.52shici.com/")
wb = load_workbook("..\\datas\我愛古詩詞UI測試.xlsx")
ws = wb.worksheets[0]
for row in ws.iter_rows(min_row=2,max_row=ws.max_row):#跳過首行表頭信息
method1= row[2].value
data1 = row[3].value
method2 = row[4].value
data2 = row[5].value
element = sut.selemium_find_element(driver,method1,data1)
result=sut.operator_element(element,method2,data2)
row[6].value="pass"
wb.save(f"..\\Reports\我愛古詩詞UI測試_{t}.xlsx")
3.4執(zhí)行結(jié)果
自動打開瀏覽器,跳轉(zhuǎn)到登錄頁面并完成登錄,自動輸入頁面信息并提交。
?自動生成excel測試結(jié)果文章來源:http://www.zghlxwxcb.cn/news/detail-402715.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-402715.html
到了這里,關(guān)于Python+Selenium.webdriver實現(xiàn)WEB端UI自動化測試(實例腳本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!