介面自動化使用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 + requests + unittest + ddt 進行介面自動化測試的框架Python框架
- 使用 testng 做介面自動化測試
- 介面自動化測試
- 記錄python介面自動化測試--requests使用和基本方法封裝(第一目)Python封裝
- Jenkins上實現Python + Jenkins + Allure Report 介面自動化測試持續整合,並生成allure-report測試報告JenkinsPython測試報告
- Python 介面自動化測試Python
- 試著使用 jmeter 實現介面自動化測試JMeter
- 基於LangChain手工測試用例轉介面自動化測試生成工具LangChain
- 介面自動化 是 pytest 結合 allure 生成報告問題
- 介面測試框架Requests框架
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- 二、介面自動化測試(2)
- 介面自動化測試框架 HttpFPT框架HTTP
- protobuf 介面自動化測試摸索
- 測試開發之介面篇-使用K6完成介面自動化測試
- python 自動化測試 (一):安裝 requests,unittest,HTMLTestRunnerPythonHTML
- 【python介面自動化】- 使用requests庫傳送http請求PythonHTTP
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 介面自動化-python+requests+pytest+csv+yamlPythonYAML
- Django 介面自動化測試平臺Django
- 介面自動化測試解決方案
- 介面自動化報告的問題
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- 介面自動化Python+requests踩坑記錄Python
- 真的要進行介面測試自動化?
- 介面自動化測試框架搭建的思路框架
- 介面自動化測試工程實踐分享
- 如何用Postman做介面自動化測試Postman
- Jmeter+Ant+Python 介面自動化測試JMeterPython
- postman實現介面的自動化測試Postman
- 介面自動化測試框架搭建總結框架
- python介面自動化測試 —— unittest框架suite、runner詳細使用Python框架UI
- 自動化測試系列 —— UI自動化測試UI
- jmeter無圖形介面執行測試並生成報告JMeter
- python介面自動化測試之介面資料依賴Python