Python接口自动化测试框架运行原理及流程
自动化测试框架运行原理:自动化测试框架主要分为三个层次,分别是基础层、关键字层和逻辑层,其运行原理如下:
-
基础层:最底层的是基础层,它主要提供一些底层的API调用操作,例如HTTP请求、数据库操作等。
-
关键字层:在基础层的基础上,构建关键字层,即将常用的测试步骤封装成具有复用性的函数,其中每一个函数都代表着一个测试步骤。
-
逻辑层:最高层的逻辑层,是整个自动化测试框架的控制中心,负责将不同的测试步骤按照预定的顺序组合在一起,形成测试用例,相互配合执行。
自动化测试框架的流程:
-
确定测试用例:根据功能需求、用户需求、性能指标等,编写测试用例,包括用例编号、用例名称、用例描述、前置条件、步骤、预期结果等信息。
-
制定测试计划:针对测试用例,制定不同的测试计划,例如冒烟测试、功能测试、性能测试、兼容性测试、安全测试等等。
-
建立自动化测试框架:确定测试用例,以及对应的关键字,编写出测试框架的三个层次结构。
-
编写测试脚本:在测试用例和测试框架确定好后,可以利用Python编写测试脚本,通过调用测试框架的API,执行对应的测试步骤。
-
执行测试脚本:执行测试脚本时,测试框架会根据调用的API,执行对应的测试步骤,并根据前置条件、步骤、预期结果等信息进行判断,来判定测试用例是否执行成功。
-
生成报告:测试执行完成后,根据测试框架输出的日志,生成测试报告和缺陷报告,便于测试人员更好地进行分析和处理。
示例一:
例如,构建一个简单的自动化测试框架,测试一个获取token的接口。其测试用例和步骤如下:
- 用例编号:001
- 用例名称:获取token
- 用例描述:测试获取token的接口
- 前置条件:无
- 步骤:
1.发送请求,获取token
2.返回值校验 - 预期结果:返回正确的token
该测试用例可以通过以下关键字封装:
def send_reqeust(url, method, params):
# 构造HTTP请求
# 返回HTTP响应
def get_token():
resp = send_reqeust(url, method, params)
# 从响应中截取token
return token
def check_response(resp, expected):
# 进行响应和预期结果的比对
assert resp == expected
def testcase001():
# 获取token
token = get_token()
# 校验token响应值是否正确
check_response(token, expected)
在测试脚本中可以通过调用这些关键字来完成测试用例的执行,例如:
testcase001()
示例二:
构建分层自动化测试框架,包括基础层、关键字层和逻辑层。
基础层:提供HTTP请求、数据库操作、日志记录等底层API调用操作。
例如,在HTTP请求底层API模块中,可以封装请求的各种方法:
def send_get_request(url, header=None, params=None):
# 发送GET请求
# 返回响应结果
def send_post_request(url, data=None, header=None, params=None):
# 发送POST请求
# 返回响应结果
def send_put_request(url, data=None, header=None, params=None):
# 发送PUT请求
# 返回响应结果
def send_delete_request(url, header=None, params=None):
# 发送DELETE请求
# 返回响应结果
关键字层:将基础层的API调用模块进行封装,构成测试步骤,例如:
def login(username, password):
# 发送登录请求
# 返回响应结果
def check_response(resp, expected):
# 进行响应和预期结果的比对
assert resp == expected
def testcase001():
# 登录
resp = login(username, password)
# 校验响应值是否正确
check_response(resp, expected)
逻辑层:整合测试用例,调用关键字完成测试执行。
例如在测试脚本中,可以完成用例调用,多个用例执行,及用例执行日志记录等功能。
from testcase import *
def run_testsuite(testsuit_list):
# 执行测试用例
# 记录执行日志
if __name__ == '__main__':
run_testsuite([testcase001, testcase002])
以上是自动化测试框架的原理和流程,可以根据测试需求,构建自己的框架和模块,提高自动化测试效率和质量。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python接口自动化测试框架运行原理及流程 - Python技术站