中級篇之9-把截圖類方法封裝到前面的BasePage.py
本文介紹把截圖類方法封裝到BasePage.py文件里,這個文件是在前面Selenium方法二次封裝文章里創建的,具體代碼請到前面這篇里找。我們截圖類寫死了把截圖圖片保存到根目錄下的Screenshots文件夾里,圖片名稱是當前系統時間,圖片後綴名是png。
新的BasePage.py內容如下:
具體代碼:
# coding=utf-8
import os
import time
from test.logger import Logger
mylog = Logger(logger="BasePage").getlog()
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:
"""
def take_screenshot(self):
"""
截圖並保存在根目錄下的Screenshots文件夾下
:param none:
"""
file_path = os.path.dirname(os.getcwd()) + "/Screenshots/"
rq = time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))
screen_name = file_path + rq + ".png"
try :
mylog.info("開始截圖並保存")
except Exception as e:
mylog.error("出現異常",format(e))
主要看最後一個截圖類方法的封裝。
測試類相關代碼如下:
具體代碼:
# coding=utf-8
import time
from selenium import webdriver
from test.basepage import BasePage
class TestScreenshot(object):
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
basepage = BasePage(driver)
def test_take_screen(self):
self.basepage.open_url("https://www.baidu.com")
time.sleep(1)
test = TestScreenshot()
test.test_take_screen()
運行後,可以在根目錄下Screenshots文件夾里找到百度首頁截圖。
本文就介紹了截圖類方法添加到BasePage里,介紹了如何保存到根目錄下的Screenshots文件夾。
歡迎關注凱哥公眾號:凱哥Java


※框架設計篇之6-一個類文件多個測試方法情況下測試固件的寫法
※Selenium中級篇之4-封裝一個自己的類-瀏覽器引擎類
※mybatis if test標籤的使用
※Selenium中級篇之3二次封裝Selenium中幾個方法
TAG:凱哥java |
※jQuery UI API 類別-方法(Methods)
※jQuery UI API 類別-方法重載(Method Overrides)
※Unit 5 Geophysical Methods of Exploration 地球物理勘探方法
※jQuery UI 小部件(Widget)方法調用
※CodeWarrior IDE使用Tips-使用burner將elf文件轉換生成HEX和BIN文件的方法和步驟詳解
※絕地求生大逃殺BattlEye Launcher 998解決方法
※受AlphaGo啟發,AI重建量子系統新方法登上Nature Physics
※python開發利器,python shell和vim中都需要的tab補全方法
※JSON編程的parse() 方法
※解決Electra越獄顯示Error:topanga錯誤的方法!
※Python之re模塊方法詳解
※教程 | 5種快速易用的Python Matplotlib數據可視化方法
※Python 中最快解壓 zip 文件的方法
※Windows升級日誌文件可以刪除嗎?Win7系統刪除log日誌文件的方法
※撲朔迷離的黑色版本OFF-WHITE x Nike Air Force 1迎來官方發售!入手方法告訴你!
※iPhone iOS 9系統源碼已被泄露至GitHub 越獄者或可找到新方法
※DeepMind於Nature子刊發文提出非對稱博弈的降維方法
※Ray Dalio的思考方法
※Acta Neuropathol Commun:科學家們開發出診斷神經退行性疾病的新方法
※MyBatis使用筆記——原始方法開發dao層