from locust import HttpLocust, TaskSet, task
import json
from common import readConfig class UserBehavior(TaskSet): # 定义用户行为 def on_start(self): # 当模拟用户开始执行TaskSet类的时候,on_start方法会被调用
        pass

    def get_headers(self):
   """会员登录"""
headers = {
"Content-Type": "application/json",
"channel": "SHOP"
}
body = {
"unionid": readConfig.unionid # 这样使用会报错,没有 common ...
}
res = self.client.post('/customers/login', headers=headers, data=json.dumps(body)).text
assert '成功' in res # 断言,判断接口返回是否成功
res = json.loads(res)
uid = res['data']['uid']
ukey = res['data']['ukey']
return [uid, ukey] # 会员登录返回的uid和ukey @task(1) # @task() 装饰该方法为一个任务;1表示一个Locust实例被挑选执行的权重,数值越大,执行频率越高;
def members_can_withdraw_account_information(self): # 一个行为
"""使会员获取会员状态"""
res = self.get_headers()
headers = {
"channel": "SHOP",
"uid": str(res[0]),
"ukey": res[1]
}
response = self.client.put("/customers/customer_state",
headers=headers).text # client.get()用于指请求的路径,可加headers,params,body参数;
assert '成功' in response @task(1)
def get_member_account_withdrawal_details(self):
"""获取会员账户提现明细"""
res = self.get_headers()
headers = {
"channel": "SHOP",
"uid": str(res[0]),
"ukey": res[1]
}
params = {
"page": "10",
"size": "10"
}
response = self.client.get("/customers/account/withdraw/log", headers=headers, params=params).text
assert '成功' in response class WebsiteUser(HttpLocust): # 设置性能测试;
host = "http://dev.sign.lixiaofeng.com"
task_set = UserBehavior # 指向一个定义了的用户行为类;
min_wait = 3000 # 用户执行任务之间等待时间的下界,单位:毫秒;
max_wait = 6000 # 用户执行任务之间等待时间的上界,单位:毫秒; 参考:http://debugtalk.com/post/head-first-locust-advanced-script/

python locust 性能测试:locust 关联---提取返回数据并使用的更多相关文章

  1. Python【BeautifulSoup解析和提取网页数据】

    [解析数据] 使用浏览器上网,浏览器会把服务器返回来的HTML源代码翻译为我们能看懂的样子 在爬虫中,也要使用能读懂html的工具,才能提取到想要的数据 [提取数据]是指把我们需要的数据从众多数据中挑 ...

  2. python操作MONGODB数据库,提取部分数据再存储

    目标:从一个数据库中提取几个集合中的部分数据,组合起来一共一万条.几个集合,不足一千条数据的集合就全部提取,够一千条的就用一万减去不足一千的,再除以大于一千的集合个数,得到的值即为所需提取文档的个数. ...

  3. wcf+linq to sql中关联查询返回数据问题

    前段时间准备采用wcf+nh框架开发sl程序,发现采用nh开发不适合我的中型.并且快速开发项目,所以综合考量了下,决定采用wcf+linq to sql . 但是此模式也有缺点,也是linq to s ...

  4. python 利用正则表达的式提取特定数据如手机号

    import re file=open('1.txt','r') listfile=file.readlines() listfile=','.join(listfile)#合并文本 listfile ...

  5. Locust性能测试4-参数关联

    前言 前面[Locust性能测试2-先登录场景案例]讲了登录的案例,这种是直接传账号和密码就能登录了,有些登录的网站会复杂一点, 需要先从页面上动态获取参数,作为登录接口的请求参数,如[学信网:htt ...

  6. Locust性能测试_参数关联

    前言 前面[Locust性能测试2-先登录场景案例]讲了登录的案例,这种是直接传账号和密码就能登录了,有些登录的网站会复杂一点, 需要先从页面上动态获取参数,作为登录接口的请求参数,如[学信网:htt ...

  7. Python Locust性能测试框架实践

    [本文出自天外归云的博客园] Locust的介绍 Locust是一个python的性能测试工具,你可以通过写python脚本的方式来对web接口进行负载测试. Locust的安装 首先你要安装pyth ...

  8. python接口自动化26-参数关联和JSESSIONID(上个接口返回数据作为下个接口请求参数)

    前言 参数关联是接口测试和性能测试最为重要的一个步骤,很多接口的请求参数是动态的,并且需要从上一个接口的返回值里面取出来,一般只能用一次就失效了. 最常见的案例就是网站的登录案例,很多网站的登录并不仅 ...

  9. python学习笔记(locust性能测试模块)

    locust是基于python的性能测试工具.支持python2.7及其以上的版本.相对于主流的LR与Jmeter工具使用的方式不一样.locust是通过编写python代码来完成性能测试的. 通过L ...

随机推荐

  1. mysql建立外键表

    //user create table users(id int primary key auto_increment not null,username varchar(50) not null,u ...

  2. 【Zookeeper系列】zookeeper面试题(转)

    原文链接:https://segmentfault.com/a/1190000014479433 1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是 ...

  3. Linux下查看设设置时间date命令

    查看时间 # date "+%Y_%m_%d  %H-%M-%S" 设置时间 #date -s "2018-05-17 09:51:50" //写入到硬件时钟 ...

  4. MySQL 5.7新特性之generated column

    MySQL 5.7引入了generated column,这篇文章简单地介绍了generated column的使用方法和注意事项,为读者了解MySQL 5.7提供一个快速的.完整的教程.这篇文章围绕 ...

  5. mui---获取设备的网络状态

    在用mui做音乐或视频播放器的时候,往往会考虑当前音乐+视频的播放环境.例如是4G ,WIFI,无网络,给出特定的提示: 具体做法:根据 getCurrentType来进行获取当前网络的类型: plu ...

  6. C - Friends and Subsequences

    Mike and !Mike are old childhood rivals, they are opposite in everything they do, except programming ...

  7. PHP实现今天是星期几

    echo "今天是星期" . mb_substr( "日一二三四五六",date("w"),1,"utf-8" );

  8. 9、BOM (浏览器对象模型)

    1.认识BOM js 三个部分: 1.ECMAScript标准 ECMA5 ECMA6 2.BOM Browser Object Model 浏览器对象模型 3.DOM 文档对象类型 window对象 ...

  9. requirejs配置问题

    <script src="lib/requirejs/require.js " data-main="js/main.js"> </scrip ...

  10. react学习笔记01

    被项目拖了半年的我终于有时间学习react 了 下面是我最近学习的笔记 支持jsx语法 ReactDOM.render( <div> <h1>hello, word</h ...