locust
------------恢复内容开始------------
from locust import HttpLocust,task,TaskSet
import time
import requests
import hashlib
import hmac
import random
HOST=" "
baseUrl="http://%s"%HOST
login_html=baseUrl+"/bs/rule/loan/rs/generalfunction/get"
user_login_url=baseUrl+"/bs/rule/loan/j_spring_security_check"
'''查询规则'''
query_rule_url_01=baseUrl+"/bs/rule/loan/rs/sd/config/event/listChannelEvent?returnEmptyChild=false"
query_rule_url_02=baseUrl+"/bs/rule/loan/rs/sd/config/pkg/category/listPkgCate"
query_rule_url_03=baseUrl+"/bs/rule/loan/rs/sd/hit/rule/listRules"
'''查询特征'''
query_feater_url=baseUrl+"/bs/rule/loan/rs/sd/feature/list?"
'''查询机构'''
query_org_url=baseUrl+"/bs/rule/loan/rs/org?"
'''查询角色'''
query_character_url=baseUrl+"/bs/rule/loan/rs/role?"
'''查询用户'''
query_user_url=baseUrl+"/bs/rule/loan/rs/role?"
def jiami_sha256(value):
sha256=hashlib.sha256()
sha256.update(value.encode("utf-8"))
res=sha256.hexdigest()
return res
def getLoginSession(username,password):
r=requests.get(login_html)
loginSession=r.cookies.get_dict()["SESSION"]
cookie="theme=bangsun; portal_biz_line=LOAN; Language=zh-CN; SESSION="+loginSession
# print (cookie)
headers = {"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
, "Accept-Encoding":"gzip, deflate"
, "Accept-Language":"zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"
, "Cache-Control":"max-age=0"
, "Connection":"keep-alive"
, "Host":HOST
,"cookie":cookie,
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"
, "If-Modified-Since":"Thu, 28 Nov 2019 07:45:02 GMT"
, "Upgrade-Insecure-Requests":"1"
}
passwd=jiami_sha256(password)
data={
"username":username,
"password":passwd
}
r1=requests.post(url=user_login_url,headers=headers,data=data)
if "true" in r1.text:
print ("用户:%s登录成功"%username)
else:
print (r1.text)
return "theme=bangsun; portal_biz_line=LOAN; Language=zh-CN; SESSION="+r1.cookies.get_dict()["SESSION"]
class UserBehavior(TaskSet):
def on_start(self):
self.cookie = getLoginSession("admin","bangsun")
self.headers = {"Accept": "*/*"
, "Accept-Encoding": "gzip, deflate"
, "Accept-Language": "zh-CN,zh;q=0.9"
, "Connection": "keep-alive"
, "Cookie": self.cookie
, "Host": HOST
,
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"
, "X-Requested-With": "XMLHttpRequest"
, "Content-Type": "application/json"
, "Content-Length": "120"
}
@task(2) #查询规则
def test_query_rule(self):
data = {"start":1,"limit":25,"keyword":"tyxtyx","cateId":"",
"orgId":"","pkgType":"HIT,SCORE","orgType":"belong",
"ruleType":"HIT,SCORE","tabCode":"COMMON","pkgId":""}
data["keyword"]="测试规则%s"%str(random.randint(0,100))
self.client.post(url=query_rule_url_03, data=data, headers=self.headers,name='规则页面:查询规则接口1')
self.client.get(url=query_rule_url_01, data=data, headers=self.headers, name='规则页面:查询规则接口2')
self.client.get(url=query_rule_url_02, data=data, headers=self.headers, name='规则页面:查询规则接口3')
@task(2) #查询特征
def test_query_feater(self):
data = {"type": "",
"enabled": "",
"keyword": "测试%s"%str(random.randint(0,100)),
"groupId": "",
"limit": "15",
"start": "1"}
self.client.get(url=query_feater_url,data=data,headers=self.headers,name="特征管理页面,查询特征接口")
@task(2) #查询机构
def test_query_org(self):
data={"keyword":"Orgname_%s"%str(random.randint(1,100)),
"orgId":"",
"start":"1",
"limit":"25",
}
self.client.get(url=query_org_url,data=data,headers=self.headers,name="系统配置页面:机构查询接口")
@task(2) #查询角色
def test_query_character(self):
data = {"keyword":"",
"orgId":"",
"start":"0",
"limit":"0"
}
data1 = {"keyword":"TestCharacter%s"%str(random.randint(1,400)),
"orgId":"",
"start":"1",
"limit":"25"
}
self.client.get(url=query_character_url,data=data,headers=self.headers,name="系统配置页面:角色查询接口1")
self.client.get(url=query_character_url,data=data1,headers=self.headers,name="系统配置页面:角色查询接口2")
@task(2)#查询用户
def test_query_user1(self):
data = {"keyword":"",
"orgId":"",
"start":"0",
"limit":"0"
}
data1 = {"keyword": "testuser%s" % str(random.randint(1, 400)),
"orgId":"",
"roleName":"",
"start":"1",
"limit":"25"
}
self.client.get(url=query_user_url,data=data,headers=self.headers,name="系统配置页面:用户查询接口1")
self.client.get(url=query_user_url,data=data1,headers=self.headers,name="系统配置页面:用户查询接口2")
class WebsiteUser(HttpLocust):
task_set = UserBehavior
host='http://%s'%HOST
min_wait = 2000
max_wait = 4000
@task()控制执行权限, on_start( ) 类似于 setup
------------恢复内容结束------------
浙公网安备 33010602011771号