【例子】locust压力测试登录——账号+密码(加密)

最近一直在研究这个locust实现登录,但是我发现基本上网上的自动化登录都是只有账号和密码登录,是没有验证码登录的。因为验证码每次不一样,目前我还不知道如果有验证码的登录是怎么做的。

使用账号+密码(加密)登录的方式:

一般很多登录请求的密码是加密的,常见的都是md5加密,至于是几层加密,这个可以问开发。因为有的是加密后再加密。

1、登录例子

保存为zhlh.py

说明:这里的登录密码需要加密,是md5加密。加密的方法在这边文章中写过《 Python进行MD5方式加密,编码、不编码

特别强调:请求时,要查看Content-Type是怎么规定的。如果Content-Type:application/json:

from locust import HttpLocust, TaskSet, task
from locust.clients import HttpSession
import json
import hashlib   #python md5加密方法

# Web性能测试
class UserBehavior(TaskSet):
        
    @task
    def login(self):    
        #密码加密
        mima='91*****li'
        Jpwd = hashlib.md5()        #创建一个MD5对象
        Jpwd.update(mima.encode('utf-8')) 
        Npwd = Jpwd.hexdigest()         
        # print (Npwd)             #打印加密后的密码    
          
        self.head = {'Content-Type':'application/json',     #这个类型说明服务端接收json格式的字符串
                    'Connection': 'keep-alive',
                     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',            
                     }
                      
        self.form_data = {'signin_name':158******18,  #如果这里不是数字,就用加引号。例如'signin_name':'lily'
                          'password':Npwd}      #注意这里不需要给Npwd加引号
      
        #post请求传json参数——第1种方法,传json参数,直接json=                                                                                 
        response=self.client.post("/api/account/team/signin",headers = self.head,json= self.form_data)  ##json参数直接自动转json了

        #post请求传json参数——第2种方法,传data参数,需json.dumps转换成json格式 data=json.dumps() 
        #response=self.client.post("/api/account/team/signin",headers = self.head,data= json.dumps(self.form_data))  

        print("Response status code:", response.status_code)

class User(HttpLocust):
    task_set = UserBehavior
    min_wait = 1000
    max_wait = 3000
    host="https://zhlh.xxxxxx.com"    

 

 

2、运行。先启动文件。然后打开地址。

指定压力用户数和用户产生的速度。地址:http://localhost:8089/

3、运行结果。开始加压后,就可以看到网页API的响应成功,响应时间,和请求速率等性能参数了。



补充说明:Content-Type:application/x-www-form-urlencoded时,参数用data


post请求参数


思考:

这里是一个用户账号密码,然后实现压力测试,之前我想着这样是不是不算压力测试呢?

但是换种想法这个就是很多人用同一账号登录。也算压力。

 

相关文章:

python环境安装(一)

Locust安装、性能测试学习总结

Python进行MD5方式加密,编码、不编码

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值