暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

httprunner踩过的一些坑

测试点梳理驿站 2021-03-22
1142



httprunner使用记录



最近使用httprunner进行了项目的接口测试,中间踩了一些坑,特意记录下来,后来者注意避坑。

快来看看

01
httprunner安装

httprunner下载安装,这个不必多讲,聪明的脑瓜子们都应该会。


02
新建项目

在命令行中,输入httprunner startproject 项目名

在pycharm中打开该项目,目录树自动建好:

-har

-reports:存放测试报告

-testcases:存放测试用例

-.env:存放环境变量

-debugtalk.py:放置在项目的根目录下


03
登录接口

仿佛所有接口都应该从登录开始,哈哈

首先config配置测试用例的一些基本配置,其中用例名称name必填,base_url存放ip、port信息,variables存放全局变量、output可以在testcase间传递变量值,选填

test中包含:name、request(url、method、headers、params或者json)extract(提取token或cookies便于后面的用例调用)、validate(断言)

04新增图层和文件导入

新增图层:该用例调用了登录接口中提取的token

文件导入:该用例调用了登录接口中提取的cookie,且用例既需要上传参数,放在data下面就行了;也需要上传zip文件,放在files下面,如果有多个文件需要上传,直接在files下面添加多个file,file1、file2、file3...

我在这里踩了个坑,在headers下面加了个content-type:multipart/form-data与file中的第三个参数:content-type:application/x-zip-compressed冲突,导致请求一直失败

在debugtalk.py中定义一个函数get_file,读取上传的zip文件,然后在file的第二个参数${get_file()}调用它。

另外:如果上传的是图片,也是一样的用法哦,直接套进去就可以了。


05
har2case

另外如果不想一个一个写接口,还有一个奇妙的办法:

  1. 打开fiddler抓包,选择要测试的接口,点击file-->export sessions-->selected sessions-->选择HTTPArchive V1.2导出.har文件

  2. 下载安装har2case

  3. 在命令行中输入:har2case F:\a.har -2y,生成了a.yml文件

  4. 然后就可以在httprunner中去执行了

另外:har2case F:\a.har -2j,可以生成a.json文件,也可以在httprunner中去执行;har2case F:\a.har,可以生成a.py


06
Test report

在命令行中输入:hrun F:\a.yml

运行成功后,在相应的路径下生成.html格式的report

如果有执行失败,可以在Detail下查看具体的log文件。

注意:3.1.3之后的版本不会直接生成html的测试报告,需要自己在后面加上--html=report.html


07
csv文件参数化

这里将登录的用户名和密码进行参数化,放到csv中,然后parameterize(简写P)内置函数引用csv文件


08
大坑

这里有个坑,我到现在还没有跳出来,真是悲伤,在httprunner2.X运行上面的代码是报错的,但是升级了环境3.X之后就是成功的。

另外:在添加断言eq: ["content.message","成功"]时报错,返回的message是unicode格式的。于是将content.message设成变量,然后在断言里引用它就成功了。


最好的总会在不经意间出现。

文章转载自测试点梳理驿站,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论