HttpRunner
橘九。
进击的小白
展开
-
10.HttpRunner_skip机制和hook机制
skip机制skip类型skip: 无条件跳过测试skipIf: 判断结果返回为true时,跳过测]p- skipUnless:判断结果返回为false时,跳过测试p使用方法:在api中增加skip节点或在testcase的teststeps增加skip节点。skip跳过测试,值为跳过测试的说明- api: api/sale/order_products.yml skip: 跳过测试的说明skipIf跳过测试,值为验证方法,方法在debugtalk.py中定义原创 2020-09-25 08:27:39 · 755 阅读 · 0 评论 -
6.HttpRunner_测试用例分层_testsuites
testsuite(测试用例集)当测试用例数量比较多以后,为了方便管理和实现批量运行,通常需要使用测试用例集来对测试用例进行组织。testsuites 这一层是测试用例的集合,把测试用例放到一个测试套件去执行,用例执行应该是无序的,有依赖的场景在testcase这一层测试用例里面就已经按步骤写好了。config: 测试用例集的总体配置参数testcases : 值为字典结构(无序),key 为测试用例的名称,value 为测试用例的内容;在引用测试用例时也可以指定 variables,实现对引用测原创 2020-09-24 17:41:38 · 724 阅读 · 0 评论 -
5.HttpRunner_测试用例分层_testcases
testcase 用例层testcase是包含多个测试步骤的集合。每一个测试步骤是一次请求,各个测试之间可能有相同的请求参数,他们相互关联,又有顺序依赖。调用api层的接口是写测试用例,用例的步骤是有序的。将请求中公有的部分可以独立出来,写入到config中测试用例中通过关键字api引用接口的yaml文件用例层主要是config和teststeps组成,teststeps测试步骤中api指的是api目录下的文件路径config: name: "登录-获取项目列表"teststeps原创 2020-09-24 17:40:28 · 422 阅读 · 0 评论 -
9.HttpRunner_参数化(引用 debugtalk 函数)
本篇讲解调用 debugtalk.py 中自定义的函数生成参数列表,生成的参数列表必须为 list of dict 的数据结构。单个参数:需对 user_id 进行参数化数据驱动,参数取值范围为 1001~1004,那么就可以在 debugtalk.py 中定义一个函数,返回参数列表;def get_user_id(): return [ {"user_id": 1001}, {"user_id": 1002}, {"user_id": 1003原创 2020-09-24 17:05:49 · 1691 阅读 · 0 评论 -
8.HttpRunner_参数化(引用外部csv数据)
httprunner 参数化数据源指定支持三种方式:在 YAML/JSON 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况通过内置的 parameterize(可简写为P)函数引用 CSV 文件:该种方式需要准备 CSV 数据文件,适合数据量比较大的情况调用 debugtalk.py 中自定义的函数生成参数列表:该种方式最为灵活,可通过自定义 Python 函数实现任意场景的数据驱动机制,当需要动态生成参数列表时也需要选择该种方式;本篇讲解内置的 parameterize(可原创 2020-09-24 16:57:43 · 906 阅读 · 0 评论 -
7. HttpRunner_参数化和数据驱动
参数化的功能需要在 testsuite 中实现。参数配置如需对某测试用例(testcase)实现参数化数据驱动,需要使用 parameters 关键字,定义参数名称并指定数据源取值方式。参数名称的定义分为两种情况:独立参数单独进行定义;多个参数具有关联性的参数需要将其定义在一起,采用短横线(-)进行连接。数据源指定支持三种方式:在 YAML/JSON 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况通过内置的 parameterize(可简写为P)函数引用 CSV 文原创 2020-09-24 15:23:36 · 250 阅读 · 1 评论 -
4.HttpRunner_测试用例分层_api
httprunner 2.x版本最大的改进就是分层机制了,可以定义公共的方法,在用例里面直接引入步骤,这样公共方法我们只需写一次;分层机制:测试用例分层机制的核心是将接口定义、测试步骤、测试用例、测试场景进行分离,单独进行描述和维护,从而尽可能地减少自动化测试用例的维护成本。我们从httprunner项目目录中也可以直接看到分层:api:接口描述testcases(测试用例):测试用例(testcase)应该是完整且独立的,每条测试用例应该是都可以独立运行的teststep :用例是测试步骤(原创 2020-09-24 15:11:51 · 664 阅读 · 0 评论 -
3.HttpRunner_variables变量声明与引用
在 HttpRunner 中,支持变量声明(variables)和引用($var)的机制。在 config 和 test 中均可以通过 variables 关键字定义变量,然后在测试步骤中可以通过 $ + 变量名称 的方式引用变量。区别在于:在 config 中定义的变量为全局的,整个测试用例(testcase)的所有地方均可以引用;在 test 中定义的变量作用域仅局限于当前测试步骤(teststep)局部变量在登录案例中,账号和密码是写死的,一般写用例的时候,我们最好把这种可能会变的参数单原创 2020-09-24 14:20:37 · 858 阅读 · 0 评论 -
2. HttpRunner_extract提取token值参数关联
我们做接口自动化的时候经常遇到接口关联,需要返回登录的token给后续接口使用,我们一般只需要取出token值,设置为一个中间变量a,然后下个接口传入这个变量a就可以了,需要进行两步:取出token关联参数场景案例:例如接口测试平台中,要获取项目列表,需要传入登录后的token信息进行验证才可以获取:extract提取token提取登录接口返回的token值,使用extract提取器 extract: - token: content.token使用提取的变量原创 2020-09-24 14:07:19 · 690 阅读 · 0 评论 -
1. HttpRunner_简介
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,只需要编写一份YAML/JSON脚本,即可实现自动化测试,性能测试,线上监控,持续集成等多种测试需求;项目背景:业务导向,快速落地提高投入产出比高速发展和扩张:业务增长,人员增长,学习成本需要低普遍具有功能回归测试,性能测试,持续集成,线上监控,测试生成等需求设计理念充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组成战车遵循约定大于配置的准则,在框架功能中融入自动原创 2020-09-24 13:31:55 · 379 阅读 · 0 评论