博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
locust参数化(数据库取值)
阅读量:4545 次
发布时间:2019-06-08

本文共 2001 字,大约阅读时间需要 6 分钟。

locust参数化(数据库取值)

基于上一篇参数化的梳理,本篇用另一种方法从数据库中取出这100个用户来登录

思路:在 TaskSet 中的 on_start 方法表示执行任务前的操作,可以将数据库取数据的这个操作放在里面执行

from locust import task,TaskSet,HttpLocustimport pymysqlimport os class MyTaskSet(TaskSet):     def run_sql(self):        self.connect = pymysql.connect(            host = "192.168.x.xx",            database = "xxx",            user = "xxx",            password = "xx"        )        cursor = self.connect.cursor()        sql = "SELECT userAccount FROM t_sys_user WHERE userAccount LIKE 'w0%';" # 查询出用户名语句        cursor.execute(sql) # 执行查询语句        res = cursor.fetchall() # 保存查询结果        self.user_list = [] # 查询出来的结果为元组中嵌套长度为1的元组,不方便取值,这里用列表保存下来        for i in res:            self.user_list.append(i[0])        print(self.user_list)        cursor.close()        self.connect.commit()        self.connect.close()        return self.user_list # 返回列表     def on_start(self):        self.run_sql()  # 执行task前运行一次run_sql函数      def on_stop(self):        print("----- Test over -----")     @task    def login(self,pwd="b123456"):        self.headers = {            "Origin": "http://192.168.1.9:8080",            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"        }        path = "/SSOAuth?action=login&code=undefined&gotoURL=http%3A%2F%2F192.168.1.9%3A8080%2Fportal%2Fgeoindex.do"          for user_account in self.user_list:            da = {
"userAccount": user_account, "pwd": pwd} data = { "data": '%s' % da } self.client.post(path, headers=self.headers, data=data, verify=False) class MyLocust(HttpLocust): """w01~w0100为有效用户名,密码为默认的b123456""" task_set = MyTaskSet # 指向任务集合 host = "http://192.168.1.9:8080" # web项目的话这里要设置host属性,否则是报错的 if __name__ == '__main__': # os模块执行系统命令,相当于在cmd切换到当前脚本目录,执行locust -f locust_login.py os.system("locust -f locust_login_db.py")

 

 原文地址

很好的博客

 

转载于:https://www.cnblogs.com/111testing/p/10998726.html

你可能感兴趣的文章
Java 编码规范
查看>>
【SICP练习】9 练习1.15
查看>>
wireshark提取gzip格式的html
查看>>
poj2826 An Easy Problem?!
查看>>
docker swarm集群搭建
查看>>
【题解】【CTST2010】星际旅行
查看>>
综合题(交换)
查看>>
ADO.NET教程(1)初识ado.net
查看>>
让HTML页面元素居中的各种实现方法
查看>>
花匠(codevs 3289)题解
查看>>
String.Join重载String.Join 方法 (String, String[], Int32, Int32)
查看>>
OJ常见问题及必须认识的对拍处理水题
查看>>
Python之路【第三篇】:Python基础(二)
查看>>
登陆官方谷歌及GMAIL的方法
查看>>
(yiyan)玩转异地恋
查看>>
谷歌Chrome浏览器开发者工具的基础功能
查看>>
字符编码
查看>>
Leetcode: Linked List Cycle
查看>>
java书籍
查看>>
MySQL++简介
查看>>