当前位置: 首页 > news >正文

网站会员注册系统怎么做视频防水网站怎么做

网站会员注册系统怎么做视频,防水网站怎么做,门厂家网站建设,上海市建设工程检测网目的 判断接口返回值和提前设置的预期是否一致#xff0c;从而判断本次测试是否通过 代码步骤设计 第一步#xff1a;前端调用后端已经写好的POST接口#xff0c;并传递参数 第二步#xff1a;后端接收到参数#xff0c;组装并请求指定接口#xff0c;保存返回 第三…目的 判断接口返回值和提前设置的预期是否一致从而判断本次测试是否通过 代码步骤设计 第一步前端调用后端已经写好的POST接口并传递参数 第二步后端接收到参数组装并请求指定接口保存返回 第三步预期结果对比接口返回一致返回测试通过不一致返回接口本次测试的真实数据 代码实现思路 第一步 1、接口的请求的方式是post 2、前端以post形式提交参数信息 3、接口将单个参数信息读取放到后端代码的变量中 第二步 1、根据解析的后端变量填入接口调用的参数中 2、访问指定接口保存接口返回的json数据 第三步 1、读取忽略字段如果没有对接口返回的json数据json转化为字典数据类型做全量校验 2、读取忽略字段如果有对接口返回的json数据json转化为字典数据类型做校验遇见匹配的忽略字段跳过 3、返回对比结果 4、对比一致返回接口测试通过 返回差异数据为空 5、对比不一致接口测试不通过 返回差异数据不为空 代码实现 步骤一 1、接收post请求的参数 from flask import request from flask_restful import Resourcefrom app.api.common.utils import res from app.commen.resopDiff import resp_diff from app.interfaces.interfaces import interfacesclass TestCase(Resource):def post(self):data request.get_json()if not data:# 返回明确的错误信息避免引用未定义的 result# 400 Bad Requestreturn res(message请求数据为空, successFalse, code400)try:# 打印接收到的数据调试用# print(Received data:, data)# 提取必要字段建议增加字段存在性校验method data.get(method)url data.get(url)params data.get(params, {}) # 默认空字典headers data.get(headers, {}) # 默认空字典expected data.get(expected) # 注意字段名拼写是否正确ignore_keys data.get(ignore_keys, [])# 调用接口请求resp interfaces.request(methodmethod,urlurl,headersheaders,paramsparams)# 确保获取响应文本内容resp_text resp.text# 调试输出响应内容# print(Response text:, resp_text)# 对比预期结果与实际响应# 假设 resp_diff 返回可序列化的字典需确保实现正确result resp_diff(expected, resp_text, ignore_keys)# 构建返回结果if not result: # 等价于 result {}return res(dataresult, message接口对比一致测试通过, successTrue, code200)else:return res(dataresult, message接口对比不一致测试不通过, successTrue, code200)except KeyError as e:# 处理字段缺失错误return res(messagef请求数据缺少必要字段: {str(e)}, successFalse, code500)except Exception as e:# 捕获其他异常如接口请求失败return res(messagef服务器内部错误: {str(e)}, successFalse, code500)步骤二 2、resp_diff预期结果与实际响应求差异值 from deepdiff import DeepDiff import json# 参数要求需要对比的是json字符串以及需要忽略的字段def resp_diff(expected, realResp, ignore_keys):比较两个 JSON 数据的差异并忽略指定的键。:param expected: 第一个 JSON 数据字符串或字典:param realResp: 第二个 JSON 数据字符串或字典:param ignore_keys: 需要忽略的键的列表例如 [extra, age]:return: 返回比较结果的描述和差异如果有# 如果输入是字符串将其解析为字典if isinstance(expected, str):dict1 json.loads(expected)else:dict1 expectedif isinstance(realResp, str):dict2 json.loads(realResp)else:dict2 realResp# 构造 exclude_paths 参数exclude_paths {froot[{key}] for key in ignore_keys}# print(fignore_keys{ignore_keys})# # 使用 DeepDiff 进行比对# print(fdict1{dict1})# print(fdict2{dict2})# print(fexclude_paths:{exclude_paths})diff DeepDiff(dict2, dict1, exclude_pathsexclude_paths)# 返回比较结果,直接返回diff需要对diff做判断return rename_diff_keys(diff)def rename_diff_keys(diff_dict):递归遍历 DeepDiff 结果将 new_value/old_value 替换为自定义名称if not isinstance(diff_dict, dict):return diff_dictrenamed {}for key, value in diff_dict.items():# 直接替换字段名if key new_value:renamed[realResp] valueelif key old_value:renamed[expected] value# 递归处理嵌套结构elif isinstance(value, dict):renamed[key] rename_diff_keys(value)elif isinstance(value, list):renamed[key] [rename_diff_keys(item) if isinstance(item, dict) else item for item in value]else:renamed[key] valuereturn renamed3、在蓝图上注册接口访问路径 api.add_resource(TestCase, /interfaces/post1)4、通过Postman传递参数测试效果 结果与预期一致 结果与预期不一致
http://www.w-s-a.com/news/514137/

相关文章:

  • 使用pycharm网站开发建一个网站需要什么条件
  • 网站建设哪些是需要外援的问题wordpress商品展示主题
  • 定制网站开发的目的是什么wordpress 增加按钮
  • 建设单位网站经费请示wordpress模板添加授权
  • 国外的电商网站有哪些为进一步加强校园网站建设
  • 专业集团门户网站建设企业微信商城和网站建设
  • 多少钱可以做网站找网络公司做推广费用
  • python php 网站开发网络营销师是干什么的
  • 网站建设设计方案动漫制作专业学校
  • 吴江区建设用地申报网站包装设计模板设计素材
  • 快速建站的公司wordpress 元数据定义
  • 网站seo分析工具网站标题用空格 逗号影响seo
  • 基金项目实验室信息网站建设wordpress文章新窗口打开
  • php网站开发就业前景做网站推荐源创网络
  • wordpress 8211西安网站优化维护
  • 泰安招聘网站有哪些wordpress 回复提醒
  • 网站服务器不稳定怎么打开网页企业营销策划心得体会
  • 自己做视频网站会不会追究版权企业商城网站建设方案
  • 烟台网站制作计划网站做seo的好处
  • 网站首页轮播官方网站下载拼多多
  • 罗庄区建设局网站自己做网站推广产品
  • 优秀flash网站欣赏苏州吴中区建设局网站
  • 网站添加wordpress博客网上商城购物系统论文
  • 上海市建设安全协会网站王夑晟企业网站建设需要做些什么
  • 网站app 开发辽宁建设工程信息网官网新网站是哪个
  • 厦门建设企业网站建设wordpress添加形式
  • 建立什么网站可以赚钱室内设计效果图qq群
  • 厦门网站设计大概多少钱服务公司沈傲芳
  • 如何起手做网站项目百度站长app
  • dede 购物网站wordpress主题超限