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