【问题】没有追加对应的版本号导致没有找到有用的版本
【解决】添加可用的版本号
【问题】追加了不存在的版本号
【解决】报错提示中会列举目前可用的版本号,从列举中选取一个即可(推荐用最新版本)
【问题】命令格式书写不正确,读取位置发生异常
【解决】正确格式:pip install 库名==版本 (库名与版本之间没有空格,否则会默认读取空格后的字符然后报错)
【问题】抛出版本异常,可能是版本问题,也可能是不兼容的问题
【解决】更换其他版本即可
【问题】管理包编辑失败,也可能出现安装到最后出现失败的情况
【解决】针对上述方法更换版本后仍报错,可去掉版本号,直接安装库即可
下面是在网上统计出来的常见报错信息(但是我没遇到),这里也贴出来好了,以防万一
【报错1】
ReadTimeoutError: HTTPSConnectionPool(host=’pypi.python.org’, port=443): Read timed out 解决方法:更新pip版本到pip官网下载:https://pypi.python.org/simple/pip/,下载完成后安装最新版本,也可以用我上面的方法根据报错信息找到最新的版本号
【报错2】
安装locustio时出现(linux下):error:command ‘gcc’ failed with exit status 1 解决方法:执行命令:yum install gcc python-devel 用yum包管理器安装安装gcc和python-devel这两个包,安装完成后再次安装locustio (这两个安装包是放在yum管理器下面的,pip不支持,所以要用yum来安装)
注:验证locustio是否已经安装成功
(1)、可以执行命令行【locust –-help】进行查看,出现相关的帮助文档说明已经安装成功
(2)、执行命令行【pip show locustio】进行查看
(3)、locust有两种安装方式,一种就是上面写的方式按照库名分别进行安装,另一种方法可以直接去github上把整个项目下载下来,然后通过命令行【python setup.py install】进行整个项目的安装(这个我没用过)
三、测试脚本(访问指定域名)
#locust_baidu.py #!/usr/bin/env python #-*-coding:utf-8-*- #authorTT #引用locust库下面的三个类,http请求、任务设置、任务模块 from locust import HttpLocust, TaskSet, task #定义用户行为 class UserBehavior(TaskSet): @task #装饰器 def baidu_page(self): #定义一个方法访问指定域名 self.client.get("/")#调用客户端并发送一个get请求 class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 3000 #用户等待时间下限 max_wait = 5000 #用户等待时间上限
四、locust启动服务
【命令】locust -f baidu.py --host=https://www.baidu.com/注:-f 指定文件名称 --host 指定host路径,此处的链接与上面脚本中的“/”进行拼接 1、第一行显示locust启动并部署在localhost:8089的域名中,且占用了本地8089的端口号 2、第二行显示当前所启动的locust版本信息
五、执行locust
1、浏览器访问本地端口号8089,进入flask库生成的web页面
2、设置虚拟用户数(Number of users to simulate),每秒钟要启动的用户数(Hatch rate (users spawned/second))
3、运行
【主页面】
注:content size:请求页面大小(和响应时间有关,数值越大说明页面上面显示元素就越多,请求响应时间就越长,反之,数值越小就说明页面上显示的元素就越少,请求响应时间就越短)
【图表页面】
【导出页面】
结语:
上面的所有内容并没有什么高深的地方,仅仅是一个菜鸟在公司做的技术分享的稿子而已,学习也不过一周的时间,里面肯定有很多不妥之处,这里也算抛砖引玉吧,有什么错误的地方,烦请指出,在此谢过。 至于为什么会有这篇文章,主要是项目结束后太无聊了,无意间看到@虫师的一个视频教程,才认识到locust,后来自己跟着视频学习了一遍,又花了一周的时间去恶补了一下,感觉并不难,并且能够填上公司性能测试的空缺,所有临时决定拿出来做一个技术分享,然后把分享的稿子贴到这里而已,主要是看到关于locust详细的教程并不是很多,同时也希望自己的帖子能够给您一丝丝的帮助
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |