热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

htpprunner4快速入门

1.新建project$httprunnerstartprojectdemo2.编写数据存放,如数据驱动:username,passwordtest1,111111test2,22

1.

新建project

$ httprunner startproject demo

2.编写数据存放,如数据驱动:

username,password
test1,111111
test2,222222
test3,333333

然后在 YAML/JSON 测试用例文件中,就可以通过内置的 parameterize(可简写为 P)函数引用 CSV 文件。

假设项目的根目录下有 data 文件夹,account.csv 位于其中,那么 account.csv 的引用描述如下:

config:
name: test suite demo
base_url: "https://postman-echo.com"
testcases:
-
name: test case 1
parameters:
username-password: ${P(data/account.csv)}
testcase: /path/to/testcase1

 

要嫌弃麻烦还可以通过函数:

例如,若需对 user_id 进行参数化数据驱动,参数取值范围为 1001~1004,那么就可以在 debugtalk.py 中定义一个函数,返回参数列表。

def get_user_id():
return [
{"user_id": 1001},
{"user_id": 1002},
{"user_id": 1003},
{"user_id": 1004}
]

然后,在 YAML/JSON 的 parameters 中就可以通过调用自定义函数的形式来指定数据源。


config:
name: test suite demo
base_url: "https://postman-echo.com"
testcases:
-
name: test case 1
parameters:
user_id: ${get_user_id()}
testcase: /path/to/testcase1

另外,通过函数的传参

二、testcase:关联参数化:

config:
name: testacse-demo
variables: # 配置变量(config variables)
username: "test1"
password: 111223
base_url: "http://127.0.0.1:8099"
verify: False
teststeps:
- name: 这个是post demo
request:
method: POST
url: /login
headers:
User-Agent: "PostmanRuntime/7.29.0"
Content-Type: "application/json"
json:
username: $username
password: $password
extract:
userid: "body.userid"
validate:
- eq: ["body.code",200]
- eq: ["body.userid",99]
- name: 这个是testget请求demo
variables:
sum_v: "${sum_two(1, 2)}"
request:
method: GET
url: /getUser/Info
params:
userid: $userid
headers:
User-Agent: "PostmanRuntime/7.29.0"
extract:
code: "body.code"
validate:
- eq: [ "body.userid","99" ]

 

 

 

 

 接口2:

 

 

 登录后获取userid 参数化给第二个get接口使用

三、testsuite:

# testsuites目录:
# 新建一个testsuite.yml
config:
name: test suite demo
variables: # testsuite config variables
var2: "xxxx"
base_url: "http://127.0.0.1:8099"
testcases:
-
name: test case 1
variables: # testcase variables
uid: 10001
testcase: /testcases/test_get_post.yml
export: ["varA", "varB"] # export variables
-
name: test case 2
variables: # testcase variables
uid: 1002
testcase: /testcases/test_export_other_case.yml

 引用几个testcase组件橙suite

四、testcase之间变量传递:

通过export导出变量userid供给其他case使用

# test_exort_othercase_var
config:
name: 引用其他用例在当前测试用例
variables: # 配置变量(config variables)
var1: "12333"
teststeps:
-
name: 引用testcase demo,并且导出引用的用例变量userid,让其他case使用
variables:
foo1: testcase_ref_bar1
expect_foo1: testcase_ref_bar1
testcase: testcases/test_get_post.yml
export:
- userid

推荐阅读
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了一种解析GRE报文长度的方法,通过分析GRE报文头中的标志位来计算报文长度。具体实现步骤包括获取GRE报文头指针、提取标志位、计算报文长度等。该方法可以帮助用户准确地获取GRE报文的长度信息。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
author-avatar
手机用户2602890485
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有