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方法封裝到一個方法里去。


※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最新面試題和對應答案!