【Python接口测试】11_constant-获取Excel中的常量数据

本文介绍如何使用Excel管理接口自动化测试用例,通过固定字段值作为常量,定位并传递给接口,实现自动化测试流程。

本次的接口自动化教程,我们使用Excel来管理接口的测试用例。Excel中第一行字段的值都为固定的值,即常量。可以用这些常量来定位每一个测试用例不同字段的坐标值,将获取到的值 传递给接口。

#!/bin/usr/env python3
# -*- coding: utf-8 -*-
# FileName: get_constant.py

class GlobalVar:
    # case_id
    ID = '0'
    CaseName = '1'
    Run = '2'
    URL = '3'
    Method = '4'
    Header = '5'
    Request_data = '6'
    Expected_result = '7'
    Actual_result = '8'
    Related_id = '9'
    Related_data = '10'
    Related_key = '11'


# 获取case id
def get_id():
    return GlobalVar.ID


def get_caseName():
    return GlobalVar.CaseName


def get_run():
    return GlobalVar.Run


def get_url():
    return GlobalVar.URL


def get_method():
    return GlobalVar.Method


def get_requestData():
    return GlobalVar.Request_data


def get_header():
    return GlobalVar.Header


def get_relatedId():
    return GlobalVar.Related_id


def get_relatedData():
    return GlobalVar.Related_data


def get_relatedKey():
    return GlobalVar.Related_key


def get_expectedResult():
    return GlobalVar.Expected_result


def get_actualResult():
    return GlobalVar.Actual_result


def get_header_value():
    header = {
        'header': "1213",
        "cookies": "qisimple"
    }
### JMeter 接口测试频繁请求报错解决方案 #### 1. 调整线程组设置 为了防止因频繁请求而导致的服务器过载或资源耗尽,在JMeter中可以调整线程组的相关参数。合理配置并发用户数量(Threads)、启动时间间隔(Ramp-Up Period),以及循环次数(Loop Count)。对于`Loop Count`,如果不希望无限次执行,则应取消勾选`Forever`选项并设定合理的循环次数[^2]。 ```python # 设置合适的线程数和ramp-up时间 threads_num = 50 # 并发用户数 ramp_up_period = 60 # 启动所有用户的秒数 loop_count = 1 # 循环次数, 不建议设为'forever' ``` #### 2. 使用定时器控制请求频率 引入定时器来模拟更真实的用户体验,比如思考时间和处理延迟。这有助于减少短时间内大量请求造成的压力。常见的定时器有固定定时器(`Constant Timer`)、高斯随机定时器(`Gaussian Random Timer`)等。 ```xml <!-- 添加一个常量定时器 --> <elementProp name="constantTimer" elementType="ConstantTimer"> <stringProp name="ConstantTimer.delay">1000</stringProp> <!-- 请求间等待时间为1秒 --> </elementProp> ``` #### 3. 实施断言机制验证响应状态 通过添加HTTP信息断言或其他类型的断言组件,确保每次请求都能得到预期的结果码(如2xx),从而及时发现异常情况并采取相应措施。 #### 4. 处理连接池管理 适当增加最大重试次数(Max Retries)、延长超时时间(Default Maximum Timeout Value For All Requests),还可以考虑启用持久化会话(Persistent Sessions)以保持TCP连接复用,降低建立新连接所带来的开销。 #### 5. 执行前后的清理工作 在脚本设计阶段就要考虑到如何优雅地结束测试过程,包括但不限于关闭数据库链接、释放文件句柄等操作。这样即使发生错误也能保证不会遗留未清除的资源占用问题。 经过上述一系列排查与优化措施的应用,不仅可以有效缓解由于过高负载引发的各种故障现象,同时也能够显著提高整个系统的稳定性和效率[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值