介面自動化使用requests生成測試報告
- 什麼是介面測試
顧名思義,介面測試是對系統或元件之間的介面進行測試,主要是校驗資料的交換,傳遞和控制管理過程,以及相互邏輯依賴關係。其中介面協議分為HTTP,WebService,Dubbo,Thrift,Socket等型別,測試型別又主要分為功能測試,效能測試,穩定性測試,安全性測試等。
在分層測試的“金字塔”模型中,介面測試屬於第二層服務整合測試範疇。相比UI層(主要是WEB或APP)自動化測試而言,介面自動化測試收益更大,且容易實現,維護成本低,有著更高的投入產出比,是每個公司開展自動化測試的首選。
下面我們以一個HTTP介面為例,完整的介紹介面自動化測試流程:從需求分析到用例設計,從指令碼編寫、測試執行到結果分析,並提供完整的用例設計及測試指令碼。
- 基本流程
基本的介面功能自動化測試流程如下:
需求分析 -> 用例設計 -> 指令碼開發 -> 測試執行 -> 結果分析
2.1 示例介面
聚合資料網:http://v.juhe.cn/xhzd/query
程式碼:
import unittest
import HTMLTestRunner
import requests
# http://v.juhe.cn/xhzd/query
# 協議 域名
class Testjuhe(unittest.TestCase):
def setUp(self):
self.url = "http://v.juhe.cn"
print("測試開始")
def tearDown(self):
print("測試結束")
def test_query(self): # 測試用例
url = self.url + "/xhzd/query"
data = {"key": "4268ec17fcf83a920e988a004b0eca1c", "word": "漢字"}
res = requests.get(url, data)
assert res.status_code == 200
def test_bushou(self):
url = self.url + "/xhzd/bushou"
data = {"key": "4268ec17fcf83a920e988a004b0eca1c"}
res = requests.post(url, data)
# 如果需要動態token的話 需要自定到json中取
assert res.status_code == 200
if __name__ == '__main__':
# 建立測試用例容器
testlist = unittest.TestSuite()
# 將用例新增到容器中
testlist.addTest(Testjuhe("test_query"))
# testlist.addTest(類名("函式名"))
testlist.addTest(Testjuhe("test_bushou"))
# 建立測試報告
# 建立檔案目錄
file = "e:/ceshi/baogao/zidian.html"
fle = open(file, "wb") # 生成測試報告的時候用的是二進位制檔案wb rb wb 以進位制的方式進行讀寫檔案
# 定義測試報告,stream定義報告所寫入的內容,title為報告標題,description為報告的說明與描述
runner = HTMLTestRunner.HTMLTestRunner(
stream=fle,
title=u"介面測試報告",
description=u"用例執行情況"
)
# 將測試報告和用例容器關聯在一起
runner.run(testlist)
相關文章
- Jmeter 介面自動化連載 (13) - 自動生成測試報告JMeter測試報告
- 記錄python介面自動化測試--利用unittest生成測試報告(第四目)Python測試報告
- 介面自動化測試
- 基於 Pytest+Requests+Allure 實現介面自動化測試
- Python做介面測試生成測試報告失敗Python測試報告
- 使用jmeter+ant進行介面自動化測試(資料驅動)之二:利用apache-ant執行測試用例並生成HTML格式測試報告JMeterApacheHTML測試報告
- 試著使用 jmeter 實現介面自動化測試JMeter
- 介面測試框架Requests框架
- python 介面自動化測試Python
- 介面自動化測試框架 HttpFPT框架HTTP
- 記錄python介面自動化測試--requests使用和基本方法封裝(第一目)Python封裝
- 測試開發之介面篇-使用K6完成介面自動化測試
- 介面自動化報告的問題
- python 自動化測試 (一):安裝 requests,unittest,HTMLTestRunnerPythonHTML
- Django 介面自動化測試平臺Django
- 介面自動化測試解決方案
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- Jenkins上實現Python + Jenkins + Allure Report 介面自動化測試持續整合,並生成allure-report測試報告JenkinsPython測試報告
- python+requests 實現介面自動化Python
- 自動化測試系列 —— UI自動化測試UI
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- 【python介面自動化】- 使用requests庫傳送http請求PythonHTTP
- 如何用Postman做介面自動化測試Postman
- 真的要進行介面測試自動化?
- 介面自動化測試框架搭建總結框架
- postman實現介面的自動化測試Postman
- 常用網路介面自動化測試框架框架
- 介面自動化測試工程實踐分享
- Pytest單元測試框架生成HTML測試報告及優化框架HTML測試報告優化
- 自動生成AWR HTML報告HTML
- 介面自動化測試系列之PHPUnit-GET請求介面測試方法PHP
- allure生成測試報告 0 NAN%測試報告NaN
- 測者的測試技術手冊:自動的自動化EvoSuite 自動生成JUnit的測試用例UI
- Jmeter+Ant+Python 介面自動化測試JMeterPython
- 【自動化測試入門】自動化測試思維
- python介面自動化(三十一)--html測試報告通過郵件發出去——下(詳解)PythonHTML測試報告
- 介面自動化測試:apiAutoTest使用re 處理資料依賴API