Web自動化框架設計(五) Report模組

2021-09-26 15:54:46 字數 1381 閱讀 3629

report模組

需將htmltestrunner.py檔案放於安裝python的路徑下的lib資料夾下

1.使用run.py指令碼執行所有用例並生成帶截圖的測試報告

import htmltestrunner

import unittest

import os

# 新增測試用例至suite中

def creatsuite():

suite = unittest.testsuite()

test_path = os.path.dirname(os.path.abspath(".")) + os.sep + "testcase"

discover = unittest.defaulttestloader.discover(test_path, pattern="*.py")

for test_suite in discover:

for test_case in test_suite:

suite.addtests(test_case)

return suite

if __name__ == '__main__':

report_path = os.path.dirname(os.path.abspath(".")) + os.sep + "report" + os.sep + "report.html" # 測試報告存放位址

stream = open(report_path, "wb")

runner = htmltestrunner.htmltestrunner(stream=stream, title="測試報告", description="測試報告詳情")

runner.run(creatsuite())

2.在用例中新增截圖

from selenium import webdriver

# 定義乙個新增截圖的函式

def add_img(self):

# 在用例中新增截圖(一般在斷言失敗時新增截圖)

try:

self.assertequal(self.driver.find_element_by_xpath(login.login_out_xpath).text, "退出")

logger.info("test_01:登入成功")

except assertionerror:

self.add_img() # 呼叫截圖

self.asserttrue(false) # 新增這行**是為了斷言失敗時在報告中顯示為失敗

logger.info("test_01:test case execute fail")

App 自動化框架設計思路

思考引入 作者提供的框架圖,思路不錯,可以參考 該架構設計思路總結 1 pm模型設計 在operation層,使用了業界通用的page object模式,即針對頁面或模組封裝操作方式,在case層呼叫operation提供的介面。2 operation實現可擴充套件 用例case層呼叫統一opera...

QTP小型web自動化測試框架設計之總論

frank 我們看到,dive engine會啟動qtp,run要求跑的test case.而qtp會跑testcase,讀取testcase 的 從libraryfiles 呼叫函式,從or呼叫 test object,從 datatable或者外部資料來源讀取tes data.跑完的結果是生成r...

自動化測試框架 設計的重構

最近對測試框架進行了重構,也對其中原有的一些設計進行了反思。其中不免有一些自我感覺得意之處,因此寫出來和大家分享。這是乙個重構的過程,所以將以重構的思路來講述。重構對於乙個系統來說,往往是必要的。他的必要性往往不在於重構的好處,而在於系統的成長的趨勢。乙個好的系統在初步階段,在很多方面都會存在成長的...