Python接口自动化测试框架运行原理及流程

Python接口自动化测试框架运行原理及流程

自动化测试框架运行原理:自动化测试框架主要分为三个层次,分别是基础层、关键字层和逻辑层,其运行原理如下:

  1. 基础层:最底层的是基础层,它主要提供一些底层的API调用操作,例如HTTP请求、数据库操作等。

  2. 关键字层:在基础层的基础上,构建关键字层,即将常用的测试步骤封装成具有复用性的函数,其中每一个函数都代表着一个测试步骤。

  3. 逻辑层:最高层的逻辑层,是整个自动化测试框架的控制中心,负责将不同的测试步骤按照预定的顺序组合在一起,形成测试用例,相互配合执行。

自动化测试框架的流程:

  1. 确定测试用例:根据功能需求、用户需求、性能指标等,编写测试用例,包括用例编号、用例名称、用例描述、前置条件、步骤、预期结果等信息。

  2. 制定测试计划:针对测试用例,制定不同的测试计划,例如冒烟测试、功能测试、性能测试、兼容性测试、安全测试等等。

  3. 建立自动化测试框架:确定测试用例,以及对应的关键字,编写出测试框架的三个层次结构。

  4. 编写测试脚本:在测试用例和测试框架确定好后,可以利用Python编写测试脚本,通过调用测试框架的API,执行对应的测试步骤。

  5. 执行测试脚本:执行测试脚本时,测试框架会根据调用的API,执行对应的测试步骤,并根据前置条件、步骤、预期结果等信息进行判断,来判定测试用例是否执行成功。

  6. 生成报告:测试执行完成后,根据测试框架输出的日志,生成测试报告和缺陷报告,便于测试人员更好地进行分析和处理。

示例一:

例如,构建一个简单的自动化测试框架,测试一个获取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技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 在 Python 中使用条件元组对数据进行子集化

    【问题标题】:Subset data using a tuple of conditions in Python在 Python 中使用条件元组对数据进行子集化 【发布时间】:2023-04-04 14:08:01 【问题描述】: 我有一个输入数据框和一个元组列表。使用我将用来过滤数据框的元组列表。元组的结构如下: [(column_name1, min_v…

    Python开发 2023年4月6日
    00
  • Python 自动备份脚本的示例代码

    下面是 Python 自动备份脚本的示例代码及完整攻略: 1. 概述 这份 Python 自动备份脚本示例代码主要实现了以下功能: 指定一个目录,实现该目录下的文件自动备份; 指定备份的文件的保存路径; 实现定时备份的功能。 2. 代码 下面是代码的主要部分,你可以将其复制到你的 Python 脚本中。 import os import time impor…

    python 2023年5月19日
    00
  • Python实现字典排序、按照list中字典的某个key排序的方法示例

    要在Python中对字典排序或按照list中字典的某个key进行排序,可以使用内置的sorted函数,该函数可以接受一个可迭代对象并返回一个排序后的列表。在排序的时候可以自定义排序方法,从而实现按照字典的某个key进行排序。 字典排序 字典按照键排序 要按照字典的键进行排序,需要提取字典的键,并根据键进行排序。示例代码如下: # 构造一个字典 d = {‘c…

    python 2023年5月13日
    00
  • python 字典套字典或列表的示例

    下面是关于Python字典套字典或列表的攻略。 什么是字典套字典/列表 在Python中,字典套字典或列表是指字典中的值为字典或列表。这种方式可以方便的描述和存储复杂的数据结构。例如,普通的字典可能无法保存一个包含多个相同数据类型的结构,而字典套字典或列表就可以有效的存储。 字典套字典示例1 下面是一个基本的字典嵌套字典的例子,用于存储学生信息: stude…

    python 2023年5月13日
    00
  • python实现的登陆Discuz!论坛通用代码分享

    Python实现的登录Discuz!论坛通用代码分享 在使用Python进行爬虫抓取网页数据时,我们常常需要实现对目标网站的用户登陆操作,以便于能够获取需要用户身份验证的信息。对于Discuz!论坛,其登陆机制比较复杂,需要经过多个步骤才能完成。因此,本文将详细讲解如何使用Python实现自动登陆Discuz!论坛的完整攻略。 1. 分析Discuz!论坛的…

    python 2023年6月6日
    00
  • Python中if语句的基本格式实例代码

    以下是Python中if语句的基本格式实例代码的详细攻略: 基础知识 在Python中,条件判断语句if用于根据条件判断是否执行特定的代码块。当if语句的判断条件为真时,执行if语句后面的代码块;当判断条件为假时,则跳过代码块。if语句的基本格式如下: if 条件: 条件为真时才执行的代码块 条件是一个表达式,用来判断是否为真。如果为真,则执行后面的代码块。…

    python 2023年5月31日
    00
  • matplotlib 示例代码不适用于 python 虚拟环境

    【问题标题】:matplotlib example code not working on python virtual environmentmatplotlib 示例代码不适用于 python 虚拟环境 【发布时间】:2023-04-05 14:56:01 【问题描述】: 我正在尝试在 matplotlib 中显示图像的 x y z 坐标。 the ex…

    Python开发 2023年4月5日
    00
  • python技巧分享Excel创建和修改

    我们来分享一份Python技巧,如何使用Python创建和修改Excel文档。 其实,操作Excel文档需要用到一个非常好的Python库——openpyxl。它是一个免费的开源库,可以很方便的用于读取、编辑和创建Excel文档。 下面,就让我们一步步来学习如何通过Python来完成Excel文档的创建和修改。 安装openpyxl模块 首先,我们需要安装o…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部