locust1.*版本主要变化和脚本模板的更新对比

简介: locust1.*版本主要变化和脚本模板的更新对比

在linux安装locust才发现,locust已经更新到1.*了;导致以前用0.*版本写的脚本运行不了,要对应修改代码

locust更新版本导致运行脚本时提示类名称已变化,打开官方文档:https://docs.locust.io/en/latest/changelog.html#locust-class-renamed-to-user

非常明显的区别是:

HttpLocust类->HttpUser类

Locust类->User类

Locust的参数-c/-clients->-u /-users

没有task_set属性了,现在叫tasks,且用法为tasks=[MyTasks]

在没有Web UI的情况下运行Locust的选项已从更改--no-web--headless

 

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

在安装1.*版本后使用原先脚本启动会报错 ImportError: The HttpLocust class has been renamed to HttpUser in version 1.0. For more info see: https://docs.locust.io/en/latest/changelog.html#changelog-1-0

修改导入名称后启动报错:

if issubclass(task_set, TaskSet) and not hasattr(task_set, “locust_task_weight”):TypeError: issubclass() arg 1 must be a class

后发现是因为没有修改task_set为tasks

 

0.*版本脚本模版

#locust 0.*版本使用


from locust import HttpLocust, TaskSet, task

class WebsiteTasks(TaskSet):

   def on_start(self):

       self.header = {

        'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, '

        'like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'}

      self.cookies_test = 'cookies'

      return self.on_start


   @task(100)

   def Course_detial(self):

       url = 'pack

       datas = {"params": 111}

       r = self.client.get(url, params=self.locust.check_sing(datas), cookies=self.cookies_test, name='测试')

       x = r.content.decode()

       return x


class WebsiteUser(HttpLocust):

   host = 'https://www.baidu.com'

   task_set = WebsiteTasks

   min_wait = 5000

   max_wait = 15000


1.*脚本模版

#1.*版本使用,重点是将HttpLocust替换为Httpuser,task_set任务集需要数据类型为列表类型,且task_set需要修改为tasks


from locust import HttpUser, TaskSet, task

class UserTasks(TaskSet):

   def on_start(self):

       self.header = {

       'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, '

       'like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'}

       self.cookies_test = 'cookies'

       return self.on_start


   @task(100)

   def Course_detial(self):

       url = 'pack

       datas = {"params": 111}

       r = self.client.get(url, params=self.locust.check_sing(datas), cookies=self.cookies_test, name='测试')

       x = r.content.decode()

       return x


class WebUser(HttpUser):

   host = 'https://www.baidu.com'

   tasks = [UserTasks]

   min_wait = 5000

   max_wait = 15000

相关文章
|
2月前
|
API
如何把自定义的函数,记录到你的Airtest报告里
如何把自定义的函数,记录到你的Airtest报告里
|
2月前
|
存储 JSON JavaScript
50+常用工具函数之xijs更新指南(v1.2.4)
50+常用工具函数之xijs更新指南(v1.2.4)
19 4
|
6月前
|
安全 测试技术 Go
Go 1.18 新增三大功能之一“模糊测试”使用方式
Go 1.18 新增三大功能之一“模糊测试”使用方式
32 0
|
9月前
|
Python
Python:简单的制作一个动态更新日志
Python:简单的制作一个动态更新日志
154 0
|
10月前
|
JavaScript 开发者
Vite 在运行过程中是如何发现新增依赖的?
Vite 在运行过程中是如何发现新增依赖的?
181 0
|
存储 JSON 数据格式
Python配置文件模块埋个坑,险些影响了版本上线!
configparser是python推荐使用的配置文件管理模块,但坦白说它真的不怎么好用,使用yaml、json等格式的存储,在多层级数据存储上,效率要比它高很多。但存在即合理,不是所有人都会使用yaml的格式,至于json的格式,很容易导致确实括号等问题,最终json.loads时报错....
252 0
如何给Airtest脚本/报告增加log记录
如何给Airtest脚本/报告增加log记录
621 0
|
网络协议 Unix API
Swoole v4.5.5 版本发布,增加配置项检测
此版本增加了配置项检测功能
153 0
|
安全
Docsify CLI v4.4.2版本发布,增加初始化时重写文件问询
此次版本发布,更新了旧版本依赖项中的漏洞,同时也添加一些功能和修复了一个 Bug
142 0
|
Web App开发 安全 Windows
win10_x64更新错误解决: 安装一些更新时出现问题,但我们稍后会重试。如果持续出现这些问题,并且你想要搜索Web或联系支持人员以获取相关信息,以下信息可能会对你有帮助:
可能的原因:  1、windows 服务没打开 win+r,打开【运行】对话框 输入 【service.msc】 找到 【Windows Firewall】和【Internet connection sharing】 都启动,并设为【自动】,重新启动 【设置】--【更新和安全】 2、设置的代理,但是代理没打开 将设置的代理服务器打开。
6334 0