這里是清安,V:qing_an_an,本章直接教會你寫一套簡單且實際的自動化測驗框架,內容不多,一看就會,
你可以在此基礎上完善它,使他稱為一套真正的框架,在專案中用起來,
廢話不多說,我們想創建一個新的專案檔案,我的叫做frame_web_interface,為什么呢,后面還會有介面,不過不在這一頻道,在介面的頻道,
專案檔案下我創建了一個web_frame檔案,用于存放驅動以及一些點擊,輸入等方法,看代碼:
# -->>>清安<<<---
from time import sleep
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
"""
傳入一個驅動引數,用于打開瀏覽器
driver = getattr(webdriver,option_)()等于如下寫法:
driver = webdriver.Firefox()
"""
def webbrowser(option_):
try:
driver = getattr(webdriver,option_)()
except Exception as e:
print(e, '輸入瀏覽器格式錯誤,使用默認瀏覽器')
driver = webdriver.Firefox()
return driver
class Webbrowser:
"""
使用driver驅動,并傳入打開所需要的瀏覽器引數
Firefox,Chrome,,,
"""
def __init__(self, option_):
self.driver = webbrowser(option_)
"""
打開
driver.get('網址')
"""
def open(self, url):
self.driver.get(url)
"""
關閉
driver.quit()
"""
def quit(self):
self.driver.quit()
"""
元素定位
driver.find_element(By.ID,'su')
"""
def loc_ele(self, ele, value):
return self.driver.find_element(ele, value)
"""
輸入
driver.find_element(By.ID,'su').send_keys(text)
"""
def input(self, ele, value, text):
self.loc_ele(ele, value).send_keys(text)
"""
點擊
driver.find_element(By.ID,'su').click()
"""
def click(self, ele, value):
self.loc_ele(ele, value).click()
"""
強制等待,根據導包而定
time.sleep(num) or sleep(num)
"""
def wait(self, num):
sleep(num)
"""
顯示等待
判斷某個元素是否存在
presence_of_element_located(find_element_by_id)
"""
def wait_presence(self, num, ele, value):
WebDriverWait(self.driver, num, 0.5).until(EC.presence_of_element_located((ele, value)))
這里我寫了很明確的注釋,就不做多的解釋了,這里存放的大致這么一些東西,如有需要可以自己進行增加所需要的方法,
如果有疑問,下方評論留言,或者直接加博主吧,
接下來我們看看用例部分,怎么寫?
我創建了一個casetest檔案,把驅動也扔里面了,不扔里面,各位自己定義好驅動路徑就行
# -->>>清安<<<---
from web_frame.browser import Webbrowser
# 實體化類,傳入所需使用的驅動名稱,注意大小寫
wb = Webbrowser('Chrome')
# 打開地址
wb.open('https://baidu.com')
# 進入顯示等待判斷元素
wb.wait_presence(3, 'id', 'kw')
# 強制等待1秒
wb.wait(1)
# 定位元素,輸入內容
wb.input('id', 'kw','清安無別事')
# 定位元素,點擊百度一下搜索按鈕
wb.click('id', 'su')
# 關閉
wb.quit()
這里我是以百度為基準的,各位可以直接用于專案上去實踐,結合資料驅動ddt,你已經可以開始自動化了,
思路:
這里各位可以自己寫入框架,并輸出報告,具體如何,前面的unittest見過,這里直接引入即可,你也可以使用pytest
可以自行加入日志模塊,日志模塊也將在后續發布在python模塊中,
本章結,期待后續的Excel關鍵字驅動吧,可以大大減少作業量,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/403977.html
標籤:python
