近期准备学习自动化测试,各种网站逛了一群,发现呼声最高的自动化测试工具是-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的环境变量
(注意:这是我修改完后才显示python 3.7.0)
(可以看到我本地是有安装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均不存在。
继续执行‘python -m site -help’
注意,这一步查看的内容甚是重要,site.py文件就是配置上面user_base和user_site的,所以我们需要编辑该文件。可是当我直接vi编辑并保存时,提示我‘permission denied!’。故此一定记住要用root权限编辑,即运行‘sudo vi **’,主要修改这三个地方,ENVALE_USER_SITE默认值为None
.而base路径设置也很简单,'python -m site -help'命令查看到的路径就包含base路径
只要base路径确定好,site路径也就好配置了。看上面‘python -m site’提示我们什么东西不存在?是不是就知道了,配置完后再和提示内容对比一下,进一步确认没有配置错。
设置完成后,执行‘python -m site’,查看配置是否成功
最后再执行‘python -V’查看环境变量配置是否成功
(这个就是最开始截图的python准确版本)
python环境问题整完后,满心欢喜安装locust,安装官方介绍的最简单方式进行安装‘ pip install locust’
帅不过三秒,dos控制台提示下面信息,然后就卡住了,不再往下执行(没有截到当时的提醒,下图是网络上文字截图)
意思很明白吧:就是你的pip版本是19.1.1,然而最新版的是可用的;尝试使用‘python -m pip install --upgrade pip’进行更新。
毫不犹豫的执行了命令(因为我本地已经是最新版的,所以提示already satisfied)
如果你们没有更新过,那么你们应该看到两个信息‘successfully uninstall 老版本’,‘successfully intsall 新版本’
然后执行 ‘pip show pip’,可以发现pip版本和更新后显示的时候一致的,同时查看location.也和我们上面设置的site-package一致。
安装完毕,再次执行‘pip install locust’,没有warnning提醒了(其实warning警告可以忽略,但我不知道为什么我的命令就是不往下走了),心情顿时大好,坐等pip安装成功。
But你以为事情会这么顺利吗?在安装gevent时,报错了。应该是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安装成功了。
接下来就是参照官方文档,写些简单的测试脚本。如果时间允许,会将后续的学习文章也分享到博客供大家学习交流