Python+Selenium中級篇之3-二次封裝Selenium中幾個方法
阿新 • • 發佈:2020-07-24
本文來介紹,如何把常用的幾個webdriver的方法封裝到自己寫的一個類中去,這個封裝過程叫二次封裝Selenium方法。我們把開啟站點,瀏覽器前進和後退,關閉和退出瀏覽器這這個方法封裝到一個新寫的類中去。
我們按照如下層次結構在PyCharm中新建兩個包和兩個.py檔案:
上圖,baidu_search.py是我們編寫測試指令碼的python檔案,具體測試程式碼寫在這個檔案。包test1下的basepage.py檔案是這次我們介紹的二次封裝selenium方法而新建的。這裡提一下,python中預設規則,包名和檔名都是小寫,類名稱單詞首字母大寫,函式名稱小寫,多個字母下劃線隔開。我們儘量遵守下這個不成文的約定。
來看看basepage.py的內容:
# coding=utf-8 class BasePage(object): """ 主要是把常用的幾個Selenium方法封裝到BasePage這個類,我們這裡演示以下幾個方法 back() forward() get() quit() """ def __init__(self, driver): """ 寫一個建構函式,有一個引數driver :param driver: """ self.driver = driver def back(self): """ 瀏覽器後退按鈕 :param none: """ self.driver.back()def forward(self): """ 瀏覽器前進按鈕 :param none: """ self.driver.forward() def open_url(self, url): """ 開啟url站點 :param url: """ self.driver.get(url) def quit_browser(self): """ 關閉並停止瀏覽器服務 :param none: """ self.driver.quit()
上面的''''''是文件註釋,一般在類的開始和函式的開始,用兩個''''''括起來,簡單描述下這個類或者函式的功能。
接下來看看,我們指令碼檔案中如何去呼叫我們自己封裝過的方法。(海量免費學習資料,軟體測試交流:1140267353群,還會有同行一起技術交流)
baidu_search.py的內容如下:
# coding=utf-8 import time from selenium import webdriver from test1.basepage import BasePage class BaiduSearch(object): driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(10) basepage = BasePage(driver) def open_baidu(self): self.basepage.open_url("https://www.baidu.com") time.sleep(1) def test_search(self): self.driver.find_element_by_id('kw').send_keys("Selenium") time.sleep(1) self.basepage.back() self.basepage.forward() self.basepage.quit_browser() baidu = BaiduSearch() baidu.open_baidu() baidu.test_search()
上面self.basepage的幾行程式碼就是呼叫我們自己封裝的方法去執行相關webdriver操作。這個只是一個簡單的封裝介紹,等後面,我們介紹了字串切割,我們會再次介紹二次封裝Selenium方法,例如將會把八大find_element方法封裝到一個方法裡去。
上一篇 Python+Selenium中級篇之2-Python中類/函式/模組的簡單介紹和方法呼叫
下一篇
以上僅供參考和借鑑,希望對你有所幫助!
點個關注不迷路!!!
小楓這幾天整理的測試資料不知道大家會不會,哪方面需要改善,希望大家多多留言給點意見。