python实现接口自动化测试

1. 接口自动化流程
  1. 需求分析

请求:url、方法、数据
响应:响应数据、状态码

  1. 挑选需求做自动化测试

时间、人员、接口复杂度

  1. 设计测试用例

  2. 搭建自动化测试环境

如python、pycharm

  1. 设计测试项目的架构

报告、参数化、用例执行框架

  1. 编写代码
  2. 执行测试用例

unittest、pytest

  1. 生成测试报告
2.接口清单整理
  • 收藏文章
  1. 请求
    1)请求url:
    2)请求方法:POST/GET
    3)请求参数:Headers = {. }
    4)请求报文:Body
  2. 响应
    1)响应状态码:
    2)响应数据:
3.用例设计
  • 1.单接口的用例设计

在这里插入图片描述
模板:
id、模块、接口名称、请求url、用例名称、请求方法、请求参数类型、请求参数、预期结果、实际结果、备注
注意:单接口用例设计的颗粒度较小(以测试数据为颗粒度)

  • 2.业务功能的用例设计
    多接口模板
    d、模块、接口名称、请求url、用例名称、请求方法、请求参数类型、请求参数、预期结果、实际结果、备注
    注意
4. 项目搭建

自动化测试目录结构

  1. 接口对象层api

1)登录 login.py
2)获取登录列表

  1. 用例业务实现层 case

1)tese_login.py

  1. 用例报告report

报告.html

  1. 工具层 tools
  2. 数据层 data

1)login.json

  1. 运行入口 run_sutie.py
4.1接口对象层

1.login.py

# 实现登录接口对象封装


# 导包 requests
import requests
# 新建类 登录接口对象
class ApiLogin(object){
# 新建方法 登录方法
    def api_login_post(self,url,mobile,code):
    # headers定义
        headers = {"Content-Type":"application/json"}

    # data定义
    data = {"mobile": , "code":}
    # 调用post并返回响应对象
    return requests.post(url,headers=headers,json=data)


}

url、mobile、code需要从data数据文件读取,做参数化使用,这里使用动态传参

2.test_login.py

// 1.导包 unittest 、ApiLogin
import unittest 
form ApiLogin import 
// 2. 新建测试类 继承unittest.TestCase
class TestLogin(unittest.TestCase):
	def  test_login(self):
		// 暂时保存数据
		url =
		mobile = 
		code = 
		// 调用登录方法
		obj = ApiLogin().api_post_login(url,mobile,code)
		// 测试使用
		print(‘查看测试结果’,obj.json())
		// 断言 响应信息 、响应状态码
		self.assertEquals("OK",obj.json()['message'])
		// 响应状态码
		self.assertEquals(201,obj.status_code)
	
// 3. 新建测试方法 test_login()
1)参数化数据准备  url,mobile,code
2)实例化 ApiLogin()类并调用登录方法
3)断言 响应信息 、响应状态码

解决数据存储问题
data文件夹中创建一个login.json的文件

在这里插入图片描述

步骤:

  1. 编写数据存储文件login.json

data文件夹

  1. 编写读取json工具

tools文件夹

# 导包
# 新建读取工具类
  1.使用初始化方法,获取要读取的文件名称
  		1)self.filepath = '.../data/'+filename
  2. 读取文件方法
  		1)打开json文件获取文件流
		2)调用load方法加载文件流
		3)返回结果

在这里插入图片描述
在这里插入图片描述

  1. 使用参数化动态获取参数数据

parameterized参数化组件

  1. pip install parameterized
  2. @parameterized.expand(参数)
    1). 单个参数:列表格式 [值1,值2]
    2). 多个参数:列表嵌套元组[(参数1),(参数2)]
// 导包
import unittest
from parameterized import parameterized
// 新建测试类
class TestPara(unittest.TestCase):
	// 新建测试方法
  • 31
    点赞
  • 487
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
Python是一种高级编程语言,它被广泛应用于各种领域,包括软件开发、数据分析和自动化测试等。在自动化测试领域,Python也有很多成熟的框架可供选择。 其中,Python接口自动化测试框架有很多,以下是其中几个比较常用的框架: 1. requests:requests是一个简洁而优雅的HTTP库,它可以方便地发送HTTP请求并处理响应。在接口自动化测试中,可以使用requests库发送各种类型的HTTP请求(如GET、POST等),并对响应进行断言和验证。 2. unittest:unittest是Python自带的元测试框架,它提供了一系列的断言方法和测试装置,可以方便地编写和执行接口自动化测试用例。unittest框架支持测试套件的组织和执行,可以进行测试用例的批量执行和结果的统计。 3. pytest:pytest是一个功能强大的Python测试框架,它支持自动发现测试用例、参数化测试、测试夹具等高级特性。pytest框架可以与其他库和工具(如requests、mock等)无缝集成,提供了更加灵活和可扩展的接口自动化测试解决方案。 4. Robot Framework:Robot Framework是一个通用的自动化测试框架,它支持关键字驱动的测试方法,并提供了丰富的库和插件,用于编写和执行接口自动化测试用例。Robot Framework可以与Python无缝集成,通过编写自定义关键字和库,实现更加灵活和定制化的接口自动化测试。 以上是几个常用的Python接口自动化测试框架,每个框架都有其特点和适用场景。你可以根据项目需求和个人喜好选择合适的框架进行接口自动化测试
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值