#针对查询功能进行性能测试
购物网站是搭建在本地的开源网站,对该网站的查询功能进行性能测试,并验证是否查询出相应的结果,将测试查询结果写入searchresult.csv文件中
searchdata.csv文件中是要查询的关键字,如下图:
from locust import HttpLocust,task,TaskSet,between
import csv
import datetime
import os
class user_search(TaskSet):
@task
def test_search(self):
#以只读方式打开测试数据文件
file=open("searchdata.csv","r")
'''filetemp = "searchresult.csv"
result = os.path.exists(filetemp) # 布尔值,是否
print(result)
if result: # result是true
os.remove(filetemp) ''' #删除文件的代码,只使用locust设置1,1的时候能运行。。多用户不适用,有的用户在写的时候,另一个在删除文件
file2=open("searchresult.csv","a")
row=csv.reader(file)
time=datetime.datetime.now()
for word in row:
#print(word)
response=self.client.get("index.php?controller=site&action=search_list&word="+str(word)).text
loc=response.find(str(word))
if(loc>0):
print(str(word)+"测试成功")
result=str(time)+str(word)+"测试成功"
file2.write(result+"\n")
wait_time=between(2,5)
else:
print(str(word) + "测试失败")
result = str(time)+str(word) + "测试失败"
file2.write(result+"\n")
wait_time = between(2, 5)
file2.close()
class WebSitUser(HttpLocust):
host="http://localhost/iwebshop/"
task_set = user_search
wait_time = between(2,5)