httprunner3.x源码阅读

测试开发日常--开源工具httprunner体验 Httprunner官方简介 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。 通俗点说,就是一个开源自动化测试工具,使用python开发,基于request,locust,pytest,allure,pydantic等一些测试工具的封装,实现接口自动化,性能测试,持续集成等功能。 现在该项目在Testhome上已获得236赞,比我们所熟知的Appium等开源工具还受欢迎,且入 阅读详情

-loader.py

核心代码:

将载入的yaml/json文件转化为字典,字典转化为testcase对象

def load_testcase_file(testcase_file: Text) -> TestCase:
    """load testcase file and validate with pydantic model"""
    testcase_content = load_test_file(testcase_file)
    testcase_obj = load_testcase(testcase_content)
    testcase_obj.config.path = testcase_file
    return testcase_obj

 将载入的.env中的环境变量输出为字典

def load_dot_env_file(dot_env_path: Text) -> Dict:

将载入的csv文件中定义数据输出为字典列表 用于参数化测试数据

def load_csv_file(csv_file: Text) -> List[Dict]:

输出文件夹下所有yml/.yaml/.json/_test.py列表

def load_folder_files(folder_path: Text, recursive: bool = True) -> List:

载入模块的所有方法,返回方法字典

def load_module_functions(module) -> Dict[Text, Callable]:
    """ load python module functions.

    Args:
        module: python module

    Returns:
        dict: functions mapping for specified python module

            {
                "func1_name": func1,
                "func2_name": func2
            }

    """

 搜索某文件 返回绝对路径 递归不断向上查找直到根目录

def locate_file(start_path: Text, file_name: Text) -> Text:

定位debugtalk.py的位置,该文件作为httprunner项目的锚点,相对路径依据于此 

def locate_debugtalk_py(start_path: Text) -> Text:

载入debugtalk中的function ,载入模型,载入模型中的function

def load_debugtalk_functions() -> Dict[Text, Callable]:

从testpath中载入项目相关的test case/.env/debugtalk.py

def load_project_meta(test_path: Text, reload: bool = False) -> ProjectMeta:

 将绝对路径改为相对路径

def convert_relative_project_root_dir(abs_path: Text) -> Text:

-make.py 主要用来讲yaml/json文件转化为pytest

核心代码

make_testcase(testcase: Dict, dir_path: Text = None) -> Text:
    """将testcase字典转化为pytest文件"""
    # ensure compatibility with testcase format v2
    testcase = ensure_testcase_v3(testcase)

    # validate testcase format
    load_testcase(testcase)

    testcase_abs_path = __ensure_absolute(testcase["config"]["path"])
    logger.info(f"start to make testcase: {testcase_abs_path}")

    testcase_python_abs_path, testcase_cls_name = convert_testcase_path(
        testcase_abs_path
    )
    if dir_path:
        testcase_python_abs_path = os.path.join(
            dir_path, os.path.basename(testcase_python_abs_path)
        )

    global pytest_
重访时间与覆盖分析的stk操作 1.打开stk 2.创建一个新的场景,命名为Test,选择地球为场景星球,若为金星,可在Central Body里选择Venus(金星自转周期慢,自转周期243天,卫星轨道变化不明显)(其中start stop时间可设置长一些) 3.插入一个AreaTarget或者place,以AreaTarget为例 选择Pattern,Add三个点(用法可见前面的博客,有时候编程的代码也可以帮助理解stk的操作) 4.插入Satellite,选择Orbit Wizard(若想设置卫星的六根数也可 阅读详情

相关推荐

HttpRunner4 Python版(三) HttpRunner4 Python版 环境搭建 快速入门 源码文件结构分析 HttpRunner4 实战汇总整理 实战自动化测试平台开发接入案例

HttpRunner4(三)HttpRunner4 Python版 环境搭建 快速入门 源码文件结构分析 Python版 HttpRunner4 实战汇总整理 实战自动化测试平台开发接入案例

Benjamin CSDN博客 1018

httprunner_httprunner_

使用 httprunner做自动化测试,整个框架简洁易懂,方便上手

30天入门 SAP BTP 开发系列之十八:保姆级教程 - 如何部署 SAP UI5 到 SAP BTP Cloud Foundry 环境

本文摘要: 本文详细介绍了如何将SAP UI5应用部署到Cloud Foundry环境。首先需完成前17篇教程学习,创建SAP BTP子账户并启用Cloud Foundry环境。在SAP Business Application Studio中创建Fiori开发空间,导入GitHub上的UI5项目代码。通过npm run build命令打包成mtar文件后,使用cf deploy命令部署到Cloud Foundry。部署成功后,可在BTP控制台查看应用或通过命令行获取访问URL。整个过程涵盖了环境准备、代码

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 974

HttpRunner3.x 源码解析(5)-runner.py

首先看下生成的pytest文件首先类继承了HttpRunner类主要包括config和teststeps两部分函数的入库是test_start()方法。

seanyang_的博客 1423

HttpRunner3.x 源码解析(3)-main_make生成用例文件

当终端输入httprunner make 目录/文件名,则调用main_make来生成py文件格式的测试用例对于tests_path中的路径,首先进行路径兼容。如果不是绝对路径,则转换为绝对路径。然后调用__make()函数,将测试用例文件转为可运行的pytest文件。pytest_files_format_list返回py文件列表,它的类型是如:dict.keys()方法是的字典方法,它将字典中的所有键组成一个可迭代序列并返回。

seanyang_的博客 733

HttpRunner3.x学习笔记

创建项目 1.可以先输入hrun --help查看基本的帮助命令 2.创建项目命令 httprunner startporject 项目名称 3.创建完项目文件后可以通过pycharm打开项目并进行编辑 项目解构文件说明 har 存放录制导出的har文件 reports 存放运行报告 testcases 存放测试用例 testsuit 测试集合套件,数据驱动文件夹 .env 全局环境变量管理文件 gitignore git版本管理文件配置 debugtalk.py 调试文件,可编辑运行逻辑代码辅助测试

m0_46594496的博客 663

httprunner框架的源码解读

1. loader 模块:负责加载和解析测试用例文件,支持 YAML 格式的测试用例文件,并将测试用例数据转换为可执行的数据结构。2. testcase 模块:定义了 TestCase 类,表示一个测试用例,包括测试用例的基本信息、请求参数、预期结果等。3. runner 模块:实现了运行测试用例的逻辑,包括执行测试用例、发送请求、处理响应、断言结果等功能。以上是 HttpRunner 源码中比较重要的几个模块,通过这些模块的协作,HttpRunner 实现了一个功能完善、易用且灵活的接口自动化测试框架。

weixin_42665577的博客 558

python范例_最佳Python代码范例

python范例Python is a general purpose programming language which is dynamically typed, interpreted, and known for its easy readability with great design principles. Python是一种通用的编程语言,可以动态键入,解释并以其易于阅读的内容以...

cumian9828的博客 1771

HttpRunner 源码学习

使用最新版本的开发版本,从github仓库获取: pip install git+https://github.com/HttpRunner/HttpRunner.git#egg=HttpRunner   源码阅读入口:setup.py文件。 entry_points中,httprunner或者hrun命令会进入到cli.py文件中httprunner.cli:main_hrun方法。 ...

zh26622的专栏 4983

在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台

我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧!

zhangsiyuan1998的博客 883

如何在Linux下搭建接口自动化测试平台

上面,我们只是创建了一个名称为 hrun 的数据库,但这个数据库下没有任何数据表,现在,我们将同步数据库得到数据表。在Linux下启动服务之后,我们将在Windows下进行访问并登录HttpRunnerManager,我们需要检查一下 8000 等端口是否已开放,替换为 http://cdn.bootcss.com/amazeui/2.7.2/css/amazeui.min.css。创建一个超级用户,并按提示输入相应用户名,密码,邮箱。:http://ip地址:8000/api/register/

百晓生说测试的博客 493

如何在Linux下搭建接口自动化测试平台(超详细~)

我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧!

chengxuyuznguoke的博客 1070

stm32_logic_stm32逻辑分析仪_

实现stm32的1Mhz采样,中使用两种实现方式,轮询与中断,倍频到128mhz

上一篇: 记一个golang安装坑
下一篇: 新买笔记本误删office2021解决方法
KingsCC
博客等级 码龄9年 5粉丝 54原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值