python request unittest beautifulreport 接口自动化测试框架

接着上次开发的python request pandas excel 接口自动化测试框架,上次遗留了两个功能需要添加:

1,测试报告的优化

2,参数化和关联的设置(如何在excel表里面设置参数化和关联)

这次先解决测试报告的优化  之前都是数据统计在excel里面,发现不方便做一个更加美观的测试报告,这次更改使用了unittest 框架,结合Python的requests库用于发送HTTP请求,unittest库用于编写测试用例和断言,以及beautifulreport库用于生成美观的测试报告。

下面是一个简单版本的自动化测试框架,可以在此基础之上进行多功能优化:

import unittest
import requests
from BeautifulReport import BeautifulReport

class APITestCase(unittest.TestCase):
    def setUp(self):
        """
        设置测试前的准备工作
        """
        pass
    
    def tearDown(self):
        """
        清理测试后的工作
        """
        pass
    
    def test_api_endpoint(self):
        """
        测试API端点
        """
        url = "your_api_endpoint_url"
        headers = {"Content-Type": "application/json"}
        payload = {"key": "value"}  # 可根据需要修改payload
        
        response = requests.post(url, headers=headers, json=payload)
        
        # 断言状态码
        self.assertEqual(response.status_code, 200, "Expected status code 200, but got {}".format(response.status_code))
        
        # 断言响应内容
        self.assertEqual(response.json(), {"expected_response_key": "expected_response_value"}, "Response does not match expected")

if __name__ == "__main__":
    suite = unittest.TestSuite()
    suite.addTest(APITestCase('test_api_endpoint'))
    
    runner = BeautifulReport(suite)
    runner.report(description='接口自动化测试报告', filename='api_test_report', report_dir='.')

在这个框架中,先定义了一个继承自unittest.TestCase的测试类APITestCase,并在其中编写了一个测试方法test_api_endpoint。在测试方法中,发送了一个POST请求到指定的API端点,并使用断言来验证返回的状态码和响应内容是否符合预期。

在主程序中,创建了一个测试套件并将测试用例添加到套件中。然后使用BeautifulReport来运行测试套件,并生成一个美观的测试报告。

注意请确保在运行脚本之前已经安装了BeautifulReport库,并根据实际情况修改测试用例中的URL、请求头和payload。如果感觉BeautifulReport库提供的测试报告页面不够美观,也可以自定义对BeautifulReport库进行二次开发。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值