[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密

在特殊的接口测试过程中,需要进行相对复杂的逻辑处理,如:加密和解密。针对此类接口,需要编写辅助函数来完成测试。

案例:

案例描述:对接口参数进行md5加密
测试登录接口:http://httpbin.org/post
请求方式:POST
参数项:user 、passwd、sign
参数规则
user: admin
passwd: 123456
sign生成规则:用户名+密码,然后进行md5加密

1.编辑md5加密的脚本

操作:项目管理 --> 点击debugtalk.py -->编辑代码

[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第1张图片

debugtalk.py

import hashlib

# 定义获取sign的方法,传递用户名和密码参数
def getSign(user,passwd):
    str = user+passwd   # 拼接用户名+密码的字符串
    md5 = hashlib.md5() # 调用hashlib模块的md5()方法
    md5.update(str.encode(encoding='utf-8'))  # 对str进行utf-8格式编码,然后用md5加密
    sign = md5.hexdigest()  # md5加密,并以16进制的字符串进行存储到sign变量
    return sign

# 根据给定的 [用户名+密码] 生成md5加密的摘要信息,并返回sign的结果
print(getSign('admin','123456'))
2.创建测试用例 test_get_sign

配置如下:
【request】
user: $user
passwd: $passwd
sign: ${getSign($user,$passwd)}(辅助函数)
【variables/parameters/hooks】
user: admin
passwd: 123456

操作:request --> add data --> 填写data中参数项,引用variables中设定的参数值

[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第2张图片

操作:variables/parameters/hooks --> add variables --> 填写变量及其值

[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第3张图片

选择用例归属、命名:

[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第4张图片
[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第5张图片
3.执行用例
[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第6张图片
[PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密_第7张图片

以上,POST请求体中已生成md5加密的摘要信息,响应数据的form对象中也可查看到有该摘要信息

你可能感兴趣的:([PPJ_31] HttpRunnerManager进阶应用-01:自定义辅助函数,接口参数md5加密)