用locust对查询功能进行单点性能测试:从csv文件读取多组数据

在这里插入图片描述

在这里插入图片描述
对电商网站的查询功能进行性能测试,以上是查询的关键字,通过爬虫技术取出以上关键字并存入数据文件data.csv

import requests
from lxml import etree
file=open("data.csv","w")
response=requests.get("http://localhost/iwebshop/index.php?controller=site&action=sitemap").text
#print(response)
doc=etree.HTML(response)
for i in range(1,6):
    keyword=doc.xpath("/html/body/div[1]/div[6]/div[2]/div[3]/table["+str(i)+"]/tbody/tr[2]/td/a/text()")
    for ele in keyword:
        file.write(str(ele)+"\n")
file.close()
import csv
import os
from locust import HttpUser,task,TaskSet
import datetime
#定义测试类:用户行为
class UseTasker(TaskSet):
    @task
    def test_search(self):
        file=open("data.csv","r")
        file1=open("search_result.csv","a")
        row=csv.reader(file)
        for word in row:
            response=self.client.get("/index.php?controller=site&action=search_list&word="+str(word)).text
            loc=response.find(str(word))
            te = datetime.datetime.now()
            if loc>=0:
                r=(str(te)+str(word)+'测试成功')
                file1.write(r+"\n")
            else:
                r=(str(te)+str(word)+"测试失败")
                file1.write(r+"\n")
        file1.close()
class WebUser(HttpUser):
    host="http://localhost/iwebshop/"
    tasks=[UseTasker]
    #若已存在search_result.csv文件,先执行删除
    result=os.path.exists("search_result.csv")
    if result:
        os.remove("search_result.csv")
    min_wait=2000
    max_wait=5000

命令行输入:locust -f 脚本名+回车
打开浏览器,打开locust页面,输入虚拟用户总数和每秒并发用户数,点击开始测试。
在这里插入图片描述

在这里插入图片描述

当要停止测试,现在命令行按ctrl+c,在这里插入图片描述
再在网页按右上角的stop.此时,测试数据已经存入文件:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值