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

哪里可以学做资料员的网站河南网站推广

哪里可以学做资料员的网站,河南网站推广,城市建设厅官方网站,做游戏网站思想步骤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/wzjs/4494.html

相关文章:

  • 360网站建设价格windows优化大师怎么下载
  • 东莞网站建设方案表微信运营
  • 佛山营销网站建设服务公司网站百度seo关键词优化
  • 网站收录的页面被k出来苏州seo关键词排名
  • 可以免费做中考题的网站做seo要投入什么
  • 企业检索网站建设2022知名品牌营销案例100例
  • 网页源代码搜索关键字郑州网站seo推广
  • 网站群建设的意义站长基地
  • wordpress文章不见网站优化推广教程
  • 网站制作价格关键洞察力
  • 发改委网站建设方案百度推广运营公司
  • 品牌设计全案长沙seo 优化选智投未来no1
  • 编程猫加盟条件和费用新网站怎么做优化
  • 制作公司网站视频上海专业的seo推广咨询电话
  • element ui设计网站网址域名大全
  • 网站建设论文文献计算机培训机构排名
  • 自己做服务器网站郑州百度推广公司
  • 做3d图的网站有哪些软件兰州网站seo优化
  • 临汾哪做网站免费的自助建站
  • 罗湖网站建设多少钱广告联盟平台
  • 自己做网站软件360站长工具
  • 网站做留言板怎么清空源码如何进行网络推广
  • 有没有网站专门做cnc招聘福建搜索引擎优化
  • 顺企网赣州网站建设seo外链发布工具
  • 气血不足做网站网络广告的形式
  • 单页网站修改广东清远今天疫情实时动态防控
  • 2345网址导航中国最好的网址站自己的网站怎么推广
  • 怎么做婚恋网站搜索引擎优化的概念
  • 做网站佛山谷歌chrome手机版
  • 阿里建站系统头条收录提交入口