當前位置:
首頁 > 知識 > 中級篇之9-把截圖類方法封裝到前面的BasePage.py

中級篇之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

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

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


請您繼續閱讀更多來自 凱哥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層