接口开发—hrun语法和用例规范

学习目标:

1、常见的抓包方法

2、如何提取和使用token

3、用例规范

4、辅助函数

具体内容:

1、常见的抓包方法

做接口测试前,肯定需要使用抓包工具去请求接口,然后才开始正常写接口用例。

常用的2种抓包方法有:

1.1 windows上使用的接口工具:postman、fiddler、浏览器的network,工具的使用方法就不专门介绍了,这个网上很多

1.2linux上做请求操作:使用curl工具请求,curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具

1.2.1 curl工具的常用操作

查看帮助命令:curl –h

查看请求的详细内容:curl –v 请求内容

使用参数 -X 加请求方法类型:curl –X POST/GET

使用参数 -H 可以添加请求的头部,多个头部信息需要使用多个 –H

使用参数-F 可以添加表单数据,多个字段需使用多个-F

POST请求提交JSON文本格式数据

其他的post请求操作(注意data里面的双引号):

2、如何提取和使用token

引用参数变量的两种方法

1、从test的extract获取变量名称

2、从debugtalk里面获取对应的函数的返回值

3、用例规范

编写规范:

执行规范:

  1. 执行单个用例
  2. 执行多个用例
  3. 执行n个目录下的用例

4、辅助函数

5、hrun框架生成和使用

5.1自动生成hrun框架

安装对应的hrun版本:pip3 install httprunner==2.2.1

hrun --startproject 项目名称,可以在当前目录下生成hrun框架

一个HttpRunner项目中必须要有的文件:api(定义接口)  reports(自动生成的,存储测试报告) testcases (存放测试用例)  testsuites(存放测试套件)  .env (存放环境配置参数)  debugtalk (编写脚本函数)

5.2 hrun框架构成介绍

5.2.1api层:主要是单个接口的用例编写,包括name、request主体、validate验证

5.2.2testcase层:主要是把之前api层的用例组合成用例,包括:config(存放公共配置)和teststeps(api或者自定义的接口组成 的用例步骤)2层部分,里面调用api的路径都是从根目录后开始写的

备注:常用的断言方法

eq(=)、lt(<)、le(<=)、gt(>)、ge(>=)、ne(!=);

str_eq、len_eq、len_gt、len_ge、len_lt、len_le;

contains、contained_by、type_match、regex_match、startswith、endswith

5.2.3testsuites层:把之前的层是用例组合

 

5.2.4 .env文件是存放环境配置参数:里面使用=进行参数的赋值,其他的模块使用变量直接使用${ENV(变量名称)}就可以直接获取env文件里面的变量值了。

debugtalk.py文件:里面可以自定义一些辅助函数,其他模块可以直接调用

6、常见问题排查:

6.1 AttributeError: module 'yaml' has no attribute 'FullLoader'

解决方法

pip install --ignore-installed PyYAML

6.2运行用例报错:Testcases not found in xxx

解决方法:

卸载httprunner后升级到对应的版本

6.3httprunner.exceptions.ApiNotFound: api/login_submit.yml not found!

解决办法:

hrun的用例运行需要在根目录下执行,不如会找不动文件

6.4要注意yaml格式里面字典的分号的后面要有个空格,否则会报错

6.5禁用https协议的安全校验方法:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323917.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeRTOS——内存管理知识总结及实战

1 freeRTOS动态创建与静态创建 动态创建&#xff1a;从FreeRTOS 管理的内存堆中申请创建对象所需的内存&#xff0c;在对象删除后&#xff0c; 这块内存释放回FreeRTOS管理的内存堆中 静态创建&#xff1a;需用户提供各种内存空间&#xff0c;并且使用静态方式占用的内存空间一…

分配器allocators

STL六大组件之一分配器allocators 分配器&#xff1a;负责空间的配置与管理&#xff08;写在容器类型的后面&#xff0c;如右图&#xff0c;作用是帮容器分配内存&#xff0c;一般都 会省略不写&#xff0c;源代码有默认的&#xff09; #include <vector>vector<…

linux下安装Nginx及其常用命令

安装Nginx 接下来在Linux服务器进行操作就可以了 安装插件 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel直接使用wget进行安装(如果没有wget需要先安装wget) yum install wgetwget https://nginx.org/download/nginx-1.24.0.tar.gz解压 tar -zxvf nginx..…

python的课后练习总结4(while循环)

for循环用于针对序列中的每个元素的一个代码块。 while循环是不断的运行&#xff0c;直到指定的条件不满足为止。 while 条件&#xff1a; 条件成立重复执行的代码1 条件成立重复执行的代码2 …….. i 1while i < 5:print(i)i i 11、使用wh…

pypdf 将 PDF两个页面拼接成一个页面进一步详解

pypdf 原库名Pypdf2(已弃用&#xff0c;文档 PyPDF2 RectangleObject类_w3cschool) pypdf 官方文档 The Transformation Class — pypdf 3.17.4 documentation pypdf 将两个PDF页面在x轴&#xff0c;y轴进行平移调整位置之后&#xff0c;直接用merge_page拼接在一起&#xff…

python学习曲线绘制

1. 学习曲线的绘制 learning_curve的使用案例 learning_curve 函数是 Scikit-learn 库中用于生成学习曲线的工具。以下是该函数的主要参数及其解释&#xff1a; estimator: 模型估计器&#xff08;estimator&#xff09;&#xff0c;即要评估性能的机器学习模型。这是必需的参…

KubeSphere 社区双周报 | 2023.12.21-2024.01.04

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.12.21-2024.…

AOP(面向切面编程)基于注解方式配置

不会注解的小伙伴看这里哦&#xff1a;Spring常用注解&#xff01;&#xff01;&#xff01;-CSDN博客 pom.xml <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version&g…

Python从入门到网络爬虫(内置函数详解)

前言 Python 内置了许多的函数和类型&#xff0c;比如print()&#xff0c;input()等&#xff0c;我们可以直接在程序中使用它们&#xff0c;非常方便&#xff0c;并且它们是Python解释器的底层实现的&#xff0c;所以效率是比一般的自定义函数更有效率。目前共有71个内置函数&…

苹果Mac图像修图软件Photomator和Pixelmator Pro 有什么区别?

同为一个团队设计的Mac修图软件Photomator和Pixelmator Pro有哪些区别呢&#xff1f;有哪些不一样的功能&#xff1f; Photomator和Pixelmator Pro区别如下&#xff1a; 1、用途不同 Photomator 和 Pixelmator Pro 是两个功能强大的应用程序&#xff0c;具有两个不同的用途。…

Mysql 将表里的两列值数据互换

示例&#xff1a; 需要将表中的 两个订单号互换 方案&#xff1a; 将同一张表数据做 临时数据 和主表 做数据交互 。 update 表 as main, 表 as temp set main.bill_no temp.track_bill_no, main.track_bill_no temp.bill_no where main.id temp.id…

小程序购物商城搭建开发分析

小程序商城作为现代商业模式的重要组成部分&#xff0c;具有巨大的发展潜力和商业价值。通过搭建一个功能完善、用户友好的小程序商城&#xff0c;您将能够提供便捷的购物体验&#xff0c;吸引更多的用户并实现商业增长。在进行小程序商城开发搭建之前&#xff0c;我们需要对项…