Mac安装locust一路踩坑

近期准备学习自动化测试,各种网站逛了一群,发现呼声最高的自动化测试工具是-locust.

what is locust?

locust官方文档简单翻译一下就是:

  • Locust 是一种易于使用、可编写脚本且可扩展的性能测试工具。
  • 您可以在常规 Python 代码中定义用户的行为,而不是停留在 UI 或限制性特定领域的语言中。
  • 这使得 Locust 可以无限扩展并且对开发人员非常友好。

 主要的特性:

  • 用普通的 Python 编写测试场景
  • 分布式和可扩展 - 支持数十万并发用户
  • 基于网络的用户界面
  • 可以测试任何系统
  • 可破解

How to Use?

  注意:安装locust之前需要python环境,且官方推荐安装 Python 3.6 或更高版本

  很早之前是有安装python的,出于严谨还是使用命令行'python -V'又查看了一边,dos控制台输出的结果是 'Python 2.7.0'。突然一下觉得不对劲啊,我从学习python开始就是使用的python3,为什么系统会输出python 2.7.0? 立马我就想到了是不是环境变量没设置或者设置出错了?通过'less .bash_profile',清晰的看到是有设置python的环境变量

Mac安装locust一路踩坑(注意:这是我修改完后才显示python 3.7.0)

Mac安装locust一路踩坑(可以看到我本地是有安装python 3.7.0)

 

 

  既然环境变量配置的是python3.7.0,为什么python -V展示的还是python 2.7.0?当时头脑简单的觉得是不是没有执行'source .bash_profile'?可是执行完成后,‘python -V’结果仍为‘python 2.7.0’

   网上检索了一会,最后断定与Mac版本已经环境变量配置有关。(个人头铁,每次mac有版本更新必更新)

  首先执行‘python -m site’,发现关于python3.7的USER_BASE和USER_SITE均不存在。

Mac安装locust一路踩坑

 

 

  继续执行‘python -m site -help’ 

Mac安装locust一路踩坑

 

 

   注意,这一步查看的内容甚是重要,site.py文件就是配置上面user_base和user_site的,所以我们需要编辑该文件。可是当我直接vi编辑并保存时,提示我‘permission denied!’。故此一定记住要用root权限编辑,即运行‘sudo vi **’,主要修改这三个地方,ENVALE_USER_SITE默认值为NoneMac安装locust一路踩坑

 

.而base路径设置也很简单,'python -m site -help'命令查看到的路径就包含base路径

Mac安装locust一路踩坑

 

 

 只要base路径确定好,site路径也就好配置了。看上面‘python -m site’提示我们什么东西不存在?是不是就知道了,配置完后再和提示内容对比一下,进一步确认没有配置错。

 设置完成后,执行‘python -m site’,查看配置是否成功

Mac安装locust一路踩坑

 

 

 最后再执行‘python -V’查看环境变量配置是否成功

Mac安装locust一路踩坑(这个就是最开始截图的python准确版本)

 

 

python环境问题整完后,满心欢喜安装locust,安装官方介绍的最简单方式进行安装‘ pip install locust’

帅不过三秒,dos控制台提示下面信息,然后就卡住了,不再往下执行(没有截到当时的提醒,下图是网络上文字截图)

Mac安装locust一路踩坑

 

 

 意思很明白吧:就是你的pip版本是19.1.1,然而最新版的是可用的;尝试使用‘python -m pip install --upgrade pip’进行更新。

 毫不犹豫的执行了命令(因为我本地已经是最新版的,所以提示already satisfied)

Mac安装locust一路踩坑

 

 

 如果你们没有更新过,那么你们应该看到两个信息‘successfully uninstall 老版本’,‘successfully intsall 新版本’

 然后执行 ‘pip show pip’,可以发现pip版本和更新后显示的时候一致的,同时查看location.也和我们上面设置的site-package一致。

Mac安装locust一路踩坑

 

 

 安装完毕,再次执行‘pip install locust’,没有warnning提醒了(其实warning警告可以忽略,但我不知道为什么我的命令就是不往下走了),心情顿时大好,坐等pip安装成功。

 But你以为事情会这么顺利吗?在安装gevent时,报错了。应该是locust需要的依赖或环境安装失败了。

Mac安装locust一路踩坑

 

 

 起初以为是网络问题,试了两次‘pip install locust’后,仍旧是pip install gevent这一步失败了,而后又单独执行‘pip install gevent’命令,最终还是失败了。 在网上搜索了一会,很多人都反映有这个问题,安装某一程序是,dos控制台在‘pip install gevent’这一步就失败了,但是只要单独在运行‘pip install gevent’就行。于是我半信半疑的再执行了一次‘pip install gevent’,还是失败,最后找到了一个靠谱的答案‘python 安装gevent 问题’,感谢这位老哥,只需要在执行‘pip install gevent’之前执行‘pip install wheel’就行。

  gevent安装完成后,怀着忐忑的心情,继续执行‘pip install locust’,等了一会,终于安装完成了。最后执行‘locust -V’,可以看到已是最新的2.5.1版本了。前前后后忙活了大半天,终于是把locust安装成功了。

Mac安装locust一路踩坑

 

  接下来就是参照官方文档,写些简单的测试脚本。如果时间允许,会将后续的学习文章也分享到博客供大家学习交流

 

 

 

 

  

 

上一篇:基于Locust框架进行文件上传下载性能测试​


下一篇:Locust 0.X 学习(二)