1. 程式人生 > 實用技巧 >Python+Selenium中級篇之3-二次封裝Selenium中幾個方法

Python+Selenium中級篇之3-二次封裝Selenium中幾個方法

本文來介紹,如何把常用的幾個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中類/函式/模組的簡單介紹和方法呼叫

下一篇    

以上僅供參考和借鑑,希望對你有所幫助!

點個關注不迷路!!!

小楓這幾天整理的測試資料不知道大家會不會,哪方面需要改善,希望大家多多留言給點意見。