01:httpRunner使用教程

一、httprunner 库安装使用

1.安装httprunner库

pip install httprunner==2.5.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2.检查是否安装成功

hrun -V

3.使用命令行创建一个项目

hrun --startproject "项目的名称"

 

 

4.再使用pycharme 打开该项目

 

 

 

二、httprunner 库结合“录制”使用

1.首先安装 har2case库

pip install har2case

 

2.charles抓包、或者fiddler抓包,如下charles抓到的

 

 

 

 

3.生成yml文件或者json文件

har2case -2y demo.har (比较推荐)
​
har2case demo.har (生成json不太推荐)

 

 

4.把生成好的yml文件,拖放到 testcases目录里面

 

 

5.使用pycharm打开,新建安装env库后

 

 

6.执行测试用例,使用Terminal比较方便

F:\httppro\testcases> hrun testcases/login2.yml

 

 

7.使用浏览器,阅读报告

 

 

三、登录接口编写案例

  1. api文件 编写如下

name: 登录测试接口 #当前文件代表接口名称
variables: #表示接口参数的默认值
userName: admin
password: 1234
request:
url: /pinter/bank/api/login2 #url信息
method: POST #这必须大写
# headers: #没有就不写
data: #表单参数的形式
  userName: $userName #接收上面的参数
  password: $password
validate:
- eq: ["status_code",200]

 

 

  1. testcase文件 编写如下

config:
name: "登录测试集合"
base_url: "http://82.156.74.26:9088"#这是一个公共配置,就是域名

teststeps:
- #yml里表示多个的意思
name: 正确的登录
api: api/loginApi.yml
variables:
  userName: admin
  password: 1234
validate:
  - eq: ["status_code",200] #判断code请求状态码200
  - eq: [content.code,"0"] #content表示响应的整个内容,.code表示获取响应里的code字段,判断他是不是0
  - eq: [content.message,"success"]
     
-
name: 错误的密码登录
api: api/loginApi.yml
variables:
  userName: admin
  password: 12349999 #
validate:
  - eq: ["status_code",200] #判断code请求状态码200
  - eq: [content.code,"1"] #content表示响应的整个内容,.code表示获取响应里的code字段,判断他是不是0

-
name: 错误的账号登录
api: api/loginApi.yml
variables:
  userName: admin9999
  password: 1234 #
validate:
  - eq: ["status_code",200] #判断code请求状态码200
  - eq: [content.code,"1"] #content表示响应的整个内容,.code表示获取响应里的code字段,判断他是不是0

 

 

3.执行脚本的命令如下

PS F:\httppro> hrun .\testcases\loginApi_testcase.ymlA

 

 

四、接口参数化

1.新增data文件夹,新建参数化文件csv

 

 

2.整理测试用例文件,做成参数化的形式

 

 

3.testsuites 测试套件,把参数依次写出来用横线划分,再引用文件路径

 

 

4.由于报告读参数有问题需要修改,C:\Users\huzhenyu\AppData\Local\Programs\Python\Python36\Lib\site-packages\httprunner\report\html\template.html 文件的第二个 "expect 改成 expect_value"

 

 

 

 

  1. 在Terminal命令窗口执行如下命令

hrun .\testsuites\login1_testsuite.yml

 

 

 

ps :6.如果不做文件参数化,可写在yml文件中,这样可以直接使用


config:
name: "测试用例集合"
base_url: "http://82.156.74.26:9088"

testcases:
- #文件参数化的形式
name: 登录接口
testcase: testcases/loginApi_testcase1.yml
parameters: #表示我们要用参数化的形式来执行,下边就是各参数
# cassName-userName-password-asservalue1-asservalue2: ${P(data/login_parameter.csv)}

cassName-userName-password-asservalue1-asservalue2:
- [正确的登录,admin,1234,"0",success]
- [错误的用户名,abcd,1234,"0",success]
- [错误的密码,admin,7777888,"0",success]
""" 这表示数据参数化,上面是文件参数化"""

 

 

 

posted @ 2023-02-06 12:29  测试艺术家  阅读(673)  评论(0编辑  收藏  举报