iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python接口测试对修改密码接口进行压测
  • 669
分享到

python接口测试对修改密码接口进行压测

2024-04-02 19:04:59 669人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录引言测试脚本代码usercenter主要代码okaybase主要代码引言 做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较

引言

做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较麻烦,使用工具比如jmeter、postman、soapui等等就比较麻烦。

我比较偏重脚本化执行测试用例,所以选择了groovy作为主要语言来进行接口测试,但是脚本依赖的库还是基于之前所在的java为主的测试框架,有兴趣的可以翻翻以前的文章。

项目架构思路是以模块为基础把接口分类,然后对于接口的请求单独进行实现。通过一个user作为一个用户,携带各种属性,如:uname,pwd,token,userinfobean等信息。来作为各个模块类之间的信息传递。

回到修改密码接口,简单说一下我们接口的逻辑,先登录,获取token作为用户身份的唯一校验值,修改密码接口参数,newpwd,oldpwd,token。成功之后会返回新的token,作为用户继续其他操作的校验值。

测试脚本代码

分享一下自己的测试脚本代码:

class T8 extends OkayBase {
    public static void main(String[] args) {
        int thread =changeStringToInt(args[0])
        int times =changeStringToInt(args[1])
        List<ThreadBase> threads = new ArrayList<>()
        for (int i = 0; i < thread; i++) {
            OkayBase base = getBase(i)
            UserCenter userCenter = new UserCenter(base)
            userCenter.modifyPwd()
            ThreadBase threadBase = new ThreadBase() {
                @Override
                protected void before() {
                }
                @Override
                protected void doing() throws Exception {
                    userCenter.modifyPwd()
                }
                @Override
                protected void after() {
                }
            }
            threadBase.setTimes(times)
            threads.add(threadBase)
        }
        new Concurrent(threads).start()
        allOver()
    }
}

usercenter主要代码

main方法留了两个参数表示线程数和单线程请求数,下面是usercenter的主要代码。

public class UserCenter extends OkayBase {
    private static Logger logger = LoggerFactory.getLogger(UserCenter.class);
    public UserCenter(OkayBase okayBase) {
        super(okayBase);
    }
    public JSONObject modifyPwd() {
        String url = Userapi.MODIFY_PWD;
        jsONObject params = getParams();
        params.put("newpwd", getPassword(this.getUname()));
        params.put("oldpwd", getPassword(this.getPwd()));
        JSONObject response = getPostResponse(url, params);
        output(response);
        if (isRight(response)) {
            String string = response.getJSONObject("data").getString("token");
            this.setToken(string);
        }
        return response;
    }
}

okaybase主要代码

public class OkayBase extends SourceCode implements IBase {
    private static Logger logger = LoggerFactory.getLogger(OkayBase.class);
    int uid;
    String token;
    String uname;
    String pwd;
    public OkayBase(String uname, String pwd) {
        this.uname = uname;
        this.pwd = pwd;
        login();
    }
    public String getPassword() {
        String s = uname.substring(uname.length() - 6);
        return getPassword(s);
    }
    public String getPassword(String pwd) {
        return RSAUtils.getPassword(pwd);
    }
    public JSONObject getParams() {
        JSONObject json = getJson("uid=" + uid, "token=" + token);
        json.put("imei", "isFake");
        json.put("serial", "W170500652");
        json.put("ua", "f_an_4..0");
        return json;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    public int getUid() {
        return uid;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getUname() {
        return uname;
    }
    @Override
    public boolean isRight(JSONObject jsonObject) {
        int code = TEST_ERROR_CODE;
        try {
            code = jsonObject.getJSONObject("meta").getInt("ecode");
            JSONObject data = jsonObject.getJSONObject("data");
            return code == 0 && !data.isEmpty();
        } catch (Exception e) {
            return false;
        }
    }
    
    public static void allOver() {
        FanLibrary.testOver();
    }
}

以上就是python接口测试对修改密码接口进行压测的详细内容,更多关于Python修改密码接口压测的资料请关注编程网其它相关文章!

--结束END--

本文标题: python接口测试对修改密码接口进行压测

本文链接: https://www.lsjlt.com/news/119529.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python接口测试对修改密码接口进行压测
    目录引言测试脚本代码usercenter主要代码okaybase主要代码引言 做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较...
    99+
    2024-04-02
  • 软件测试-接口测试-代码实现接口测试
    文章目录 1.request 1.1 request介绍 1.2 发送get请求 1.3 发送set请求 1.4 其...
    99+
    2023-09-06
    php json
  • 怎样进行API接口测试
    这篇文章的内容主要围绕怎样进行API接口测试进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!经常有后端开发会问,后端接口都测试什么怎么测简单梳理了一下...
    99+
    2023-06-04
  • 如何利用python进行接口测试
    这篇文章主要讲解了“如何利用python进行接口测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用python进行接口测试”吧!接口测试的坑第一个坑:POST 和 GET----GE...
    99+
    2023-06-30
  • python接口测试(三)
    引入unittest框架get请求#coding: utf-8 import unittest import requests import json class TestGet(unittest.TestCase):     def s...
    99+
    2023-01-31
    接口 测试 python
  • python测试dubbo接口
    本文主要介绍使用Python调用Hession协议dubbo接口示例。 关于Dubbo Hession协议: Dubbo本身支持多种远程调用方式,例如Dubbo RPC(二进制序列化 + tcp协议)、http invoker(二进...
    99+
    2023-01-31
    接口 测试 python
  • python接口测试(一)
    基于Jenkins接口测试# coding = utf-8 import httplib http_client = None http_client = httplib.HTTPConnection('localhost' , 808...
    99+
    2023-01-31
    接口 测试 python
  • Python接口测试实战1(下)- 接口
    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 ...
    99+
    2023-01-30
    接口 实战 测试
  • Postman中怎么进行接口测试和自动化测试
    在Postman中进行接口测试和自动化测试可以按照以下步骤进行: 创建一个新的Postman集合:在Postman中,创建一个新...
    99+
    2024-03-13
    Postman
  • 300行Python代码打造实用接口测试
    300行Python代码打造实用接口测试框架发表于:2017-6-29 09:47  作者:Leo Lee   来源:博客字体:大 中 小 | 上一篇 | 下一篇 | 打印 |我要投稿 | 推荐标签: Python 接口测试  在刚开始实现...
    99+
    2023-01-31
    接口 代码 测试
  • 利用python进行接口测试及类型介绍
    目录前言接口测试的坑接口类型快速上手接口测试接口文档分析编写接口用例执行接口测试前言 其实我觉得接口测试很简单,比一般的功能测试还简单(这话我先这样说,以后可能会删O(∩_&...
    99+
    2024-04-02
  • 怎么对Java8中的函数式接口进行测试
    怎么对Java8中的函数式接口进行测试?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 函数式接口的理解根据重构的思想,需要把容易变化的模块进行抽象并封装起来,从这个点来...
    99+
    2023-05-31
    java8 函数式接口 ava
  • 如何进行Postman自动化接口测试
    如何进行Postman自动化接口测试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。背景描述有一个项目要使用postman进行接口测试,接口所需参数有:appid: 应用标识;s...
    99+
    2023-06-21
  • 如何使用Jmeter进行http接口测试
    这篇文章给大家介绍如何使用Jmeter进行http接口测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言:  主要针对http接口进行测试,使用Jmeter工具实现。  Jmter工具设计之初是用于做性能测试的,它...
    99+
    2023-06-21
  • 使用postman进行接口自动化测试
    目录一、接口结果判断1、功能区2、脚本相关3、代码模板二、集合(批量)测试1、批量执行2、变化的参数数据1、使用变量2、Pre-request Script3、测试数据集3、定期任务...
    99+
    2024-04-02
  • linux如何使用curl进行接口测试
    使用curl进行接口测试非常简单,只需要执行以下命令: curl -X <请求方法> <接口地址> 其中:...
    99+
    2024-04-02
  • linux怎么使用curl进行接口测试
    要使用curl进行接口测试,首先确保你的Linux系统中已经安装了curl命令。如果尚未安装,可通过如下命令进行安装:```sudo...
    99+
    2023-09-16
    linux curl
  • 〖Python接口自动化测试实战篇④〗- 接口自动化测试详解
    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订...
    99+
    2023-09-04
    自动化 python自动化测试实战 自动化测试 接口测试 接口自动化测试
  • python单个接口测试记录
    #encoding=utf-8 import chardet import urllib import requests import json import os import hashlib '''校验短信验证码到接口...
    99+
    2023-01-31
    接口 测试 python
  • 使用Jmeter进行http接口测试的实践
    目录前言:一、开发接口测试案例的整体方案:二、接口自动化适用场景:三、接口测试环境准备四、创建工程:前言:   本文主要针对http接口进行测试,使用Jmeter工具实现。   Jm...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作