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

商城网站的开发怎么做的网页设计专业服务公司

商城网站的开发怎么做的,网页设计专业服务公司,上海百度研发中心,青岛城阳网站设计Pytest requests Allure 这个框架基于python的的 Pytest 进行测试执行,并结合 Allure插件 生成测试报告的测试框架。采用 关键字驱动 方式,使测试用例更加清晰、模块化,同时支持 YAML 文件来管理测试用例,方便维护和扩展。 测试…

Pytest +requests+ Allure

这个框架基于python的的 Pytest 进行测试执行,并结合 Allure插件 生成测试报告的测试框架。采用 关键字驱动 方式,使测试用例更加清晰、模块化,同时支持 YAML 文件来管理测试用例,方便维护和扩展。

测试用例:YAML 文件

主要包含测试用例的步骤、调用的函数、函数所需的参数。


分层结构

  • config 层:全局配置(base_url、公共变量)。
  • steps 层:测试步骤(请求 -> 提取 -> 断言)。

模板引擎

  • 支持 {{}} 变量插值语法。
  • 支持环境变量注入(${ENV_VAR})。

示例:登录失败测试用例(用户名为空)

desc: 登录失败测试用例--用户名为空
steps:- 发送Post请求:关键字: request_post_form_dataURL: "{{url}}"PARAMS:s: /api/user/loginapplication: appDATA:accounts: ''pwd: 123456type: username- 通过JSONPATH提取数据-MSG:关键字: ex_jsonDataEXVALUE: $..msgINDEX: 0VARNAME: msg_success- 断言-文本断言-等于:关键字: assert_text_comparatorsVALUE: "{{msg_success}}"EXPECTED: 登录账号不能为空OP_STR: ==

关键字驱动模式(封装 Keywords 函数)

Keywords 类封装了 YAML 文件中定义的请求关键字,并在执行步骤时,将有用的信息(如 tokenresponse)存入全局字典 gc,同时,每个方法都使用 @allure.step 装饰器,以生成测试报告的步骤。

关键字实现示例

class Keywords:@allure.step('发送POST请求')def request_post(self, **kwargs):response = requests.post(**kwargs)gc.set_dict('current_response', response)return response@allure.step('发送GET请求')def request_get(self, **kwargs):response = requests.get(**kwargs)gc.set_dict('current_response', response)return response@allure.step('发送PUT请求')def request_put(self, **kwargs):response = requests.put(**kwargs)gc.set_dict('current_response', response)return response@allure.step('发送POST请求--form_data表单的请求')def request_post_form_data(self, **kwargs):url = kwargs.get('URL', None)params = kwargs.get('PARAMS', None)data = kwargs.get('DATA', None)headers = kwargs.get('HEADERS', None)request_data = {'url': url, 'params': params, 'data': data, 'headers': headers}response = self.request_post(**request_data)return response

Pytest 框架入口

import os
import pytestpytest_args = ['-v', '-s', '--capture=sys', '--clean-alluredir', '--alluredir=allure-results','--type=yaml', '--cases=./data/yaml_testcase', './core/ApiTestRunner.py'
]
pytest.main(pytest_args)

使用 pytest.main 函数,同时指定运行参数,包括 Allure 测试报告数据目录和运行的 py 脚本。


用例运行脚本

class TestRunner:def test_case_execute(self, get_dict_token, caseinfo):try:allure.dynamic.title(caseinfo['_case_name'])  # 自定义用例标题local_context = caseinfo.get('context', {})kw = Keywords()# 解析测试用例步骤steps = caseinfo.get('steps', None)for step in steps:step_name = list(step.keys())[0]step_value = list(step.values())[0]context = copy.deepcopy(g_context().show_dic())context.update(local_context)step_value = eval(ReFresh(step_value, context))with allure.step(step_name):key = step_value['关键字']try:key_func = kw.__getattribute__(key)except Exception as e:print(e)key_func(**step_value)except Exception as e:assert False, f"核心执行器或是核心执行器调用的关键字有错误: {e}"finally:print('---执行用例完成---')

此运行脚本的功能:

  • 读取 YAML 测试用例 (caseinfo 变量)。
  • 逐步运行测试用例步骤 (steps)。
  • 使用 Keywords 类中的函数执行测试操作。
  • 通过 Python 反射机制动态获取 Keywords 类中的方法并执行。

测试用例执行全流程

  1. 测试用例按照 YAML 规范编写,指定每一步测试步骤。
  2. 运行脚本读取 YAML 文件。
  3. 逐步执行 YAML 中定义的步骤,并调用 Keywords 类中的方法。

技术要点

  1. YAML 文件管理测试用例
  2. 采用关键字驱动模式 设计测试用例执行框架,使用例执行更加清晰。
  3. 使用全局字典管理数据,处理测试用例之间的关联情况。
  4. 集成 Allure 生成测试报告,提供详细的测试结果。
http://www.dtcms.com/a/417065.html

相关文章:

  • 做动感影集的网站想要做一个网站
  • 做网站没有成本费用如何做账seo实训报告
  • 自己做的网站字体变成方框舟山普陀区建设信息网站
  • 买个网站多少钱企业营销策划方案范文
  • 免费图片网站建设百度搜索数据
  • 中山网站建设联系电话织梦后台生成网站地图
  • 生产厂家上什么网站做推广好个人主页模板图片导航栏
  • 劳务派遣技术支持 东莞网站建设环球设计官网网站
  • 公司的网站建设一般需要多少费用汽车充电桩网站建设中企动力技术支持
  • 临清网站开发网站开发培训价格
  • 宝塔windows建设网站小型企业门户网站制作
  • 网站域名备案认证随州网站建设哪家便宜
  • 互联斗士网站建站广州网站制作是什么
  • 那有名网站是php做的宁夏网站设计联系电话
  • 树莓派imager使用记录
  • 网站收录更新保险网站有哪些
  • 兴宁市网站建设国内新闻热点事件
  • 做网站审批号必须要西地那非片功效与作用主要会有哪些
  • 网站制作价格甄选乐云践新南京酒店网站制作
  • 网站授权合同深圳苏州企业网站建设服务公司
  • 河南工程建设 协会网站免费行情网站
  • 哪些网站可以做团购免费关键词挖掘网站
  • 上海好的高端网站建国外做机器的好的网站
  • 简单aspx网站开发宁波的网络公司比较有名的
  • 青岛网站建设方案托管wordpress循环分类
  • wordpress迁站页面设计作品
  • 品牌网站建设设计免费ppt课件模板大全
  • 南昌做网站的公司公司找人做网站
  • 中国建设银行龙卡信用卡网站码迷seo
  • 免费学软件的自学网站做网站的一个月能赚多少钱