ModuleNotFoundError: No module named ‘locust.events‘,httprunner执行locust压测报错解决办法~

ModuleNotFoundError: No module named ‘locust.events’,httprunner执行locust压测报错解决办法~

  • 问题背景
    上一篇文章讲解到初步使用httprunner执行接口测试,心血来潮想使用下httprunner+locust直接将yml文件脚本执行locust压测命令实现压测,激动的心颤抖的手,直接在控制台输入指令locusts -f yml脚本.yml
    等待片刻…
    指令成功的将yml文件自动转换成locustfile.py文件
    在这里插入图片描述
    在离成功只差一步时,执行指令提示:ModuleNotFoundError: No module named ‘locust.events’
    在这里插入图片描述
    同时,打开locustfile.py文件时,看到其中一个引用模块指令报错了from locust.events import request_failure
    在这里插入图片描述
    按照以往的经验,去第三方库里搜索该引用模块,发现并没有可供下载的模块
    在网上翻遍了资料查看,都是执行locusts -f指令一步到位的…囧😳
    but,等等!!这种情况极有可能是httprunner版本和locust版本不适配的原因。。。
    查看了一个博主的使用httprunner+locust框架的截图,使用的locust是0.9.0版本的
    在这里插入图片描述
    我查了下自己安装的版本是1.5.3版本的。
    在这里插入图片描述

  • 所以原因也极可能是这个,后期也验证了确实是这个版本的问题,因为locust的0.x版本和1.x版本的区别还是很大的。而使用locusts -f yml脚本.yml只有在0.x版本的locust上,生成的locustfile.py文件,调用依赖包才不会报错。

  • 如下所示,将locust1.5.3版本卸载,使用pip uninstall locust
    在这里插入图片描述
    再安装0.x版本
    注意:如使用pip install locust指令将默认安装1.x版本的,请使用pip install locustio,但是出现如下提示:
    在这里插入图片描述
    所以正确安装locust0.x版本的指令为:pip install locustio==0.14.6
    在这里插入图片描述

  • 再看locustfile.py文件中,调用依赖包不再报错🆒
    在这里插入图片描述

  • 再次在控制台输入指令locusts -f yml脚本.yml

    我去。。。再次报错😶。。真是一波三折
    在这里插入图片描述
    但是,,经过我搜索资料,报这个错的原因为,locust0.x版本,依赖的一个名为gevent包版本不匹配😳
    我们再看看刚刚安装成功locustio时有一个提示:
    在这里插入图片描述
    即这个gevent-20.4.0版本不对,网上办法是需要将其升级成20.9.0版本,话不多说,开干
    使用指令:pip3.exe install --upgrade gevent==20.9.0(不用管红色提示)
    在这里插入图片描述
    ps:如果在使用pip下载包时超时,可设定个安装源:pip3.exe install --upgrade gevent==20.9.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com(之前我的博客文已提到过这个问题)

  • 再次在控制台输入指令locusts -f yml脚本.yml
    -
    哈哈,这次再无报错了,执行成功🆒

  • 打开locust网页网址:http://localhost:8089/
    在这里插入图片描述
    准备好了,输入数值,即可开始压测了
    在这里插入图片描述
    压测两个接口即为我的httprunner的yml文件内编写的两个接口,证明httprunner+locust框架调用locusts -f指令成功执行了压测,达到了目的。

  • 至此,httprunner+locust框架成功工作了,总结下,问题都为安装的包的版本不适配的原因,这种问题虽然不太明显,但是很容易就忽略了而无法找到问题的原因。所以还是需要仔细分析哈哈,实在费了些时间,网上的资料也并没有完整说明清楚版本问题的,希望我的这个经历能帮到大家哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胖子xpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值