由于年后工作地方更换,V2.0 版本这才迟迟与大家见面,新版本主要增加了定时任务,异步执行,报告持久化、日志保存以及数据类型支持,QQ 群欢迎提问:628448476。https://github.com/HttpRunner/HttpRunnerManager
安装 mysql 数据库服务端 (推荐 5.7+),并设置为 utf-8 编码,创建相应 HttpRunner 数据库,设置好相应用户名、密码,启动 mysql
修改:HttpRunnerManager/HttpRunnerManager/settings.py 里 DATABASES 字典相关配置:NAME(默认 HttpRunner)
USER(用户名,建议 root 用户,需要有增删改查权限!)、PASSWORD(对应登录用户名密码)、HOST(数据库所在服务器 ip 地址)
PORT(数据库服务监听端口,默认 3306)
安装 rabbitmq 消息中间件,service rabbitmq-server start 启动服务,访问:http://host:15672/#/ host 即为你部署 rabbitmq 的服务器 ip 地址
username:guest、Password:guest, 成功登陆即可
修改:HttpRunnerManager/HttpRunnerManager/settings.py 里 BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//'将 127.0.0.1 替换为步骤 3 的 host
命令行窗口执行 pip install -r requirements.txt 安装工程所依赖的库文件
命令行窗口切换到 HttpRunnerManager 目录,执行 python manage.py makemigrations ApiManager 生成数据库迁移脚本
执行 python manage.py migrate 对应 HttpRunner 数据库生成相应表结构
执行 python manage.py createsuperuser 根据提示输入用户名,邮箱,密码
执行 python manage.py runserver
shell 或 dos 窗口切换到 HttpRunnerManager 目录执行:python manage.py celery -A HttpRunnerManager worker --loglevel=info 启动 worker
shell 或 dos 窗口切换到 HttpRunnerManager 目录执行:python manage.py celery beat --loglevel=info 开启定时任务配置
CLI 窗口执行:celery flower 访问:http://localhost:5555/dashboard 即可查看任务列表和状态
浏览器输入:http://127.0.0.1:8000/api/register/ 注册用户,开始享用
浏览器输入http://127.0.0.1:8000/admin/ 输入步骤 6 设置的用户名、密码,登录后台运维管理系统
HttpRunner 数据驱动,hook 功能还未来得及开发,3.0 版本会同步支持,邮件提醒,报告下载,运行方式选择以及调用 java 进行加签加密后面会全部支持,谢谢大家支持
欢迎大家有问题群里随时提问
更新下依赖库,最后一个名字写错了
rabbitmq 这个安装请自行百度,直接默认安装就 ok 一般
接口进入到数据库的数据核对。
例如:跟数据库的数据进行检查,后面会支持么?
写的相当详细了,近期我准备一下 Docker 镜像
[2018-05-25 10:56:32,640: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:15672/: Socket closed.
Trying again in 2.00 seconds...
想问一下我的 mq 配置是不是有什么问题 一直连不上。。
在 setting,py 修改了自己的邮箱账号,但是执行定时任务后,发送邮箱的账号还是楼主的邮箱账号 ,求解??
邮箱代码里确实是从配置拿的,我知道了,你改了后没有重启 workwer,beat 那些服务吧,都需要重启的
建议 大神添加 data 参数关键字的描述,便于其他人维护
怎么打赏啊 微信扫不了
不是贴了打赏码么
任务监控请求无法访问到内容,怎么设置
首先非常感谢楼主,也感谢构建 httprunner 的大神。
小白请教一个问题,登录之后的 cookie 如何传到下一个用例呢?是在 extract 中设置了,然后直接在第二个用例中使用 $ 变量引用吗?
请问一下:
第 5 步安装 requirements 文件,提示 “Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/4p/b0vm78h9117gwc3xvsnm5f_r0000gp/T/pip-install-5vep_v_g/mysqlclient/”
我是 Mac 用到 Python3.7
安装之后整个项目的 CSS 样式都失效了,听说是 cdn.bootcss.com 挂了,换了网址还是 404。。。。。
异步执行后没生成报告,是什么原因呢?
第六步是什么意思?按手册操作这一步报错呀?
点击项目管理的 debugtalk.py 不能编辑,是什么问题,需要再哪个目录下建 debugtalk.py 嘛,哪位大拿指点一下,感谢
post 请求,json 值有中文,使用了 json 里的内容签名,失败。
json:{
"username": "我",
"openId": "123456789012345678910004",
"orderId": "201810311510431100"
}
而返回的 body 是
body | b'{"username": "\u6211", "openId": "123456789012345678910004", "orderId": "201810311510431100"}'
应该是提交申请的时候,没有转换编码,导致我的签名失败。
签名规则使用了 body 签名。找了很久,不知道是不是 unittest 的问题。
启动任务失败有人知道什么原因吗?
1、本地开发环境部署都没有问题 (可以看下我上传的截图),登录 HttpRunnerManager 平台设置了定时任务,但是就是不能生成报告。
PS:celery 用的版本是 4.2
2、各种服务和定时任务有关的截图如下:
Q 群满了,进不去,想问问,我发现这个 manager 里面用的 httprunner 是 1.5.8 版本的,我是看着 2.+ 的文档来学习 hrun 的,来到学用 manager 的时候,发现有些 2.0 的特性用不了了,请问目前是不是这样情况?还是我哪里没做对?
大佬,请教个问题我在本地搭建了 HttpRunnerManager 的环境后,然后创建了一个用例,在运行时报错 AttributeError,can't set attribute。具体的信息在附件中。麻烦有时间的话解答一下。
说明:我将 ApiManager 中的 tasks.py 和 views.py 文件中的 from httprunner import HttpRunner, logger 修改为了 from httprunner.api import HttpRunner,logger,不知道会否有影响
请问楼主 json 格式不支持参数变量吗?
如果是简单的 json,直接装在 extra/validate 中提取就好了,语法是 “data.yourkey.yourkey”。
如果结构体比较复杂,建议自己写个正则表达式的函数,调用就可以了
这么好的项目,必须打赏,作者加油~~
请问大神,我按照 github 上的 md 执行到第九步的时候,启动监控会出现 module 'tornado.web' has no attribute 'asynchronous'
是因为 tornado 的版本太高了么
我这边解决了,requirement.txt 中加入 tornado == 5.1.1 ,然后 pip install tornado == 5.1.1 即可,参考 这个https://github.com/HttpRunner/HttpRunnerManager/issues/137
httprunner 提供的断言估计有些满足不了,这些可以自己去开发吗?
支持的 python 版本是什么版本呢
完全按步骤搭建的,也没报错,删掉各种东西重装也是这样,操作哪里的几个空白包括删除功能也无效,所有的浏览器都是这样
而且别的地方也不同,基本白色灰色,网上的人家的都是红色绿色蓝色
同样遇到这样的问题,给一下解决方案:
在用例列表运行用例就这样,如何解决
Traceback:
File "D:\Python37\lib\site-packages\django\core\handlers\exception.py" in inner
File "D:\Python37\lib\site-packages\django\core\handlers\base.py" in _get_response
File "D:\Python37\lib\site-packages\django\core\handlers\base.py" in _get_response
File "D:\HttpRunnerManager\HttpRunnerManager\activator.py" in process
File "D:\HttpRunnerManager\ApiManager\views.py" in wrapper
File "D:\HttpRunnerManager\ApiManager\views.py" in run_test
Exception Type: AttributeError at /api/run_test/
Exception Value: can't set attribute
我就按着这教程的 https://sutune.me/2018/08/05/httprunner/ 创建单个接口的简单测试而已。第一个用例运行就出错了
http://www.httpbin.org/get # 请求方式为 GET
你好 你这个文件能发出来么 现在也是遇到这个问题 一直显示很丑 换成这个还是不对其http://cdn.clouddeep.cn/amazeui/1.0.1/css/amazeui.min.css
大佬,请教一个问题,在执行到 celery flower 时候报错
,找了半天也没找到解决办法,请问这个怎么办呢?
如果两个环境的数据源不一样,怎么切换呢,比如说,测试环境和预部署的登陆账号肯定是不一样的,配置列表里面配置了两套数据,然后用例还是写用例的时候设置的配置,怎么去一键切换所有用例的配置呢
有两种方式:
1、组装测试集时,形成内部循环,类似写~查~删~写,可以跨环境。
2、每次都写不同的数据,可以在 debug 中动态获取,如需区分环境,需要将平台环境列表传递给 debug,自己定义判断规则即可,也可以做到跨环境。
请问用例列表的运行是哪个方法,我在 pycharm 调试 HttpRunnerManager-master\ApiManager\view.py 的 run_test 插入断点,运行是没有进入断点,请问什么原因?
执行用例(单个和批量)报这个错,大家有遇到没?怎么解决的?
大家好!请问执行 python3 manage.py runserver 8899
Performing system checks...
System check identified no issues (0 silenced).
August 06, 2020 - 15:10:17
Django version 1.8, using settings 'HttpRunnerManager.settings'
Starting development server at http://127.0.0.1:8899/
Quit the server with CONTROL-C.
然后浏览器输入 127.0.0.1:8899 就报下面的错误
2020-08-06 15:10:30,768 [django.request:170] [base:get_response] [WARNING]- Not Found: /
[06/Aug/2020 15:10:30]"GET / HTTP/1.1" 404 74
2020-08-06 15:12:46,506 [django.request:170] [base:get_response] [WARNING]- Not Found: /
[06/Aug/2020 15:12:46]"GET / HTTP/1.1" 404 74
2020-08-06 15:57:28,591 [django.request:170] [base:get_response] [WARNING]- Not Found: /
[06/Aug/2020 15:57:28]"GET / HTTP/1.1" 404 74
[06/Aug/2020 15:57:28]"GET /favicon.ico HTTP/1.1" 301 0
2020-08-06 15:57:28,774 [django.request:170] [base:get_response] [WARNING]- Not Found: /static/assets/img/favicon.ico
[06/Aug/2020 15:57:28]"GET /static/assets/img/favicon.ico HTTP/1.1" 404 103
这个怎么解决啊!!🙏
请教一个问题:
一组用例中,提取上一个用例返回值中的某一个字段值(int 型)作为下一个用例传参时,如何转换为 string 型?
【我试了一种曲线救国的方法:在第 2 个用例中添加变量,变量值就是上一条用例的返回值,类型选择为 string,然后再在第 2 个用例传参时,引用这个变量】但是这个方法没用,不能这样间接转换类型