當前位置:
首頁 > 最新 > Selenium中級篇之3二次封裝Selenium中幾個方法

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:

"""

def forward(self):

"""

瀏覽器前進按鈕

:param none:

"""

def open_url(self, url):

"""

打開url站點

:param url:

"""

def quit_browser(self):

"""

關閉並停止瀏覽器服務

:param none:

"""

上面的""""""是文檔注釋,一般在類的開始和函數的開始,用兩個""""""括起來,簡單描述下這個類或者函數的功能。

接下來看看,我們腳本文件中如何去調用我們自己封裝過的方法。

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):

baidu = BaiduSearch()

baidu.open_baidu()

baidu.test_search()

上面self.basepage的幾行代碼就是調用我們自己封裝的方法去執行相關webdriver操作。這個只是一個簡單的封裝介紹,等後面,我們介紹了字元串切割,我們會再次介紹二次封裝Selenium方法,例如將會把八大find_element方法封裝到一個方法里去。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 凱哥java 的精彩文章:

Selenium中級篇之1PyCharm的安裝和簡單使用
練習篇32 練習篇完-如何截圖並保存
練習篇31-獲取頁面元素的href屬性
記錄一次Jmail發送郵件提示530錯誤
練習篇30-獲取當前頁面全部圖片信息

TAG:凱哥java |

您可能感興趣

Selenium3源碼之common package篇
Python3+Selenium3 Windows下環境搭建
Selenium及Headless Chrome抓取動態HTML頁面
python3+selenium+chrome實戰速成
selenium+python點擊 display:none元素解決方法匯總
基於Python Selenium Unittest PO設計模式詳解
Selenium的安裝與Firefox配置
Selenium python 實現點擊非select/option下的懸浮隱藏文本
python selenium環境搭建
Selenium3源碼之異常模塊篇
selenium在Linux上做web自動化?
利用Python和Selenium使酒店Wifi免費
Docker下使用selenium+testng實現web自動化
Python爬蟲系列:使用selenium+Edge查詢指定城市天氣情況
python爬蟲知識點2-selenium的基礎知識點
使用 Selenium 自動化 Web 瀏覽器
10分鐘玩轉Selenium自動化
10分鐘玩轉Python+Selenium自動化測試,快速入門通道!
selenium 模擬瀏覽器登錄微博
自動化測試Selenium最新面試題和對應答案!