python之unittest框架实现接口测试实例

简介: python之unittest框架实现接口测试实例

python之unittest框架实现接口测试实例

接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限,工具也不能很好的生成可视化的报告和结果数据,使用代码来进行接口测试就便于进行更多的拓展和结果输出。

首先安装Requests库(需要安装好python环境)

在cmd窗口运行如下命令:

pip install requests

requests功能特性

Requests 完全满足今日 web 的需求。

  • Keep-Alive & 连接池
  • 国际化域名和 URL
  • 带持久 Cookie 的会话
  • 浏览器式的 SSL 认证
  • 自动内容解码
  • 基本/摘要式的身份认证
  • 优雅的 key/value Cookie
  • 自动解压
  • Unicode 响应体
  • HTTP(S) 代理支持
  • 文件分块上传
  • 流下载
  • 连接超时
  • 分块请求
  • 支持 .netrc

Requests 支持 Python 2.6—2.7以及3.3—3.7,而且能在 PyPy 下完美运行。

具体用法和介绍可参考这个地址http://cn.python-requests.org/zh_CN/latest/

构造请求

首先得熟悉完整的http请求的三部分构成:

请求行(url)

http://192.168.1.1:8080/test/cm.contact.getContactMembersFromServer/global

请求头(headers)

Content-Type': 'application/json; charset=UTF-8',"authorization":"78646a6178646a613153593338076183

请求体(params)

{"account": "123456", "Type": "0"}

unittest框架介绍

unittest框架是python内置的单元测试框架,它能编写组织用例、执行用例,还可输出测试报告等。
使用unittest前需要了解该框架的五个概念:即test case,test suite,testLoader,test runner,test fixture,大家可以自行百度学习相关概念。

它具有如下优点:

  • 使用断言判断返回布尔值来判断期望值和实际值的差异。
  • 可以构建共同的初始化变量或实例。
  • 框架结构可以组织用例批量运行。

实现代码

import unittest
import requests
import json

#定义测试类InterfaceTest,父类为unittest.TestCase。
#继承unittest.TestCase的setUp和tearDown方法。
#继承承unittest.TestCase的各种断言方法。

class InterfaceTest(unittest.TestCase):

#使用setUp()方法执行初始化工作。
    def setUp(self):
        self.url = "http://192.168.1.1:8080/test/v2.cm.contact.getContactMembersFromServer/global"
        self.headers = { 'Content-Type': 'application/json; charset=UTF-8',"authorization":"78646a6178646a613153593338076183"}
    
#tearDown()方法结束测试
    def tearDown(self):
        print("测试结束了")
    
#定义测试用例,必须以“test_”开头命名。
    def test01(self):
        json01 = {"userAccount": "123456", "queryType": "0"}
        
        #将字典转换成字符串
        jsonString01 = json.dumps(json01)
        r = requests.post(self.url, data=jsonString01, headers=self.headers)

        print("获取的响应结果json类型", r.text)
        print("获取的响应状态码", r.status_code)
        print("获取的响应头", r.headers['Content-Type'])

        # 响应的json数据转换为可被python识别的数据类型
        json_r = r.json()
        print(json_r)
        self.assertEqual(r.status_code,200)
        self.assertIn("test01",r.text)

if __name__=='__main__':
    #unittest.main()方法会搜索该模块下所有以test开头的测试用例方法,并自动执行它们。
    unittest.main()
目录
相关文章
|
17天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
69 8
|
23天前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
4天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
49 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
13天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
48 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
18天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
38 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
9天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
49 11
|
7天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
54 5
|
10天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
34 7
|
7天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
35 2
|
22天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。

热门文章

最新文章