接口自动化使用requests生成测试报告

  1. 什么是接口测试
    顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。

在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴。相比UI层(主要是WEB或APP)自动化测试而言,接口自动化测试收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。

下面我们以一个HTTP接口为例,完整的介绍接口自动化测试流程:从需求分析到用例设计,从脚本编写、测试执行到结果分析,并提供完整的用例设计及测试脚本。

  1. 基本流程
    基本的接口功能自动化测试流程如下:
    需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析

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)

接口自动化使用requests生成测试报告_第1张图片

你可能感兴趣的:(接口自动化使用requests生成测试报告)