自動化場景實現 以及selenium關鍵字驅動運用
阿新 • • 發佈:2020-07-25
自動化測試崗位,一定會涉及到 測試框架的設計
自動化的目的:設計一款獨屬於自己的測試框架
現階段測試框架的核心內容一定是基於關鍵字驅動的
解決程式碼的冗餘
解決可讀性
解決維護性
解決程式碼的複用性
最根本的解決方式:關鍵字驅動(selenium的二次封裝)
簡單的封裝關鍵字驅動
有點在於 如果頁面元素進行了變化 只需修改 指令碼入口 下的引數即可
大大優化了程式碼量 以及維護性 複用性
簡單例項:
from selenium import webdriver
class TestKeyWords(object):
# 初始化
def __init__(self,url,browser_type):self.browser = self.open_browser(browser_type)
self.browser.get(url)
# 呼叫瀏覽器 判斷使用者使用的瀏覽器
def open_browser(self,browser_type):
if browser_type == 'chrome':
browser = webdriver.Chrome()
return browser
elif browser_type == 'firefox':
browser = webdriver.Firefox()return browser
else:
print('type error')
# 元素定位 進行封裝
def locator(self,locator_type,value):
if locator_type == 'xpath':
el = self.browser.find_element_by_xpath(value)
return el
elif locator_type == 'id':
el = self.browser.find_element_by_id(value)return el
elif locator_type == 'name':
el = self.browser.find_element_by_name(value)
return el
# 呼叫定位函式 進行輸入
def inupt_text(self,locator_type,value,text):
self.locator(locator_type,value).send_keys(text)
# 點選
def click_element(self,locator_type,value):
self.locator(locator_type, value).click()
if __name__ == '__main__':
# 對類傳入 url 已經瀏覽器
sr = TestKeyWords('http://www.baidu.com','chrome')
# 傳入 定位方法 元素屬性 已經輸入內容
sr.inupt_text('id','kw','老祝頭')
# 點選方法
sr.click_element('id','su')