• 接口测试经验合集


    一 、接口测试常见问题

    前景提要:由于本人测试小白,可能所遇问题都较为基础,测试小白可以参考

    1.1 postman会报

    connect ECONNREFUSED

    jemeter会报

    org.apache.http.conn.HttpHostConnectException: Connect tofailed: Connection refused: connect


    检查接口书写没有问题,get请求,没有参数
    原因:接口地址存在问题,是本地接口,所以无法调通

    1.2 错误信息:

    {"code":10001,"message":"é误çtoken","result":null,"details":null,"success":false}


    原因:因当前使用的账号在其他位置已经登录,故token失效,提示该错误
    解决办法:重新调用登录接口即可
    1.3 、错误信息:

    {:   "code":41002,:   "message":"不支持的HTTP请求方法"}


    原因:接口请求方式错误,修改正确接口即可调通
    1.4 、提取参数为null

     因为是get方法放到了url中,需要放到parameters

    二、接口测试经验合集

    1、post请求的参数需要使用bady data 来传递参数\


    2、如果不同线程需要相同的变量值,提取的名字最好不一致,因为会导致后面的覆盖到前面;如果想取最新的,则可以使用相同的名称


    3、写完的接口需要查看是否返回数据以及返回数据的正确性,才能确认接口是否正确


    4、传递参数需要放到正确的位置

    Get方法需要放到parameters
    Post方法需要放到 body data


    5、post方法有时没有传递参数,但是body data需要有“{}”才可以


    6、在编写接口测试用例之前,常在postman中进行调试,常用的post接口在postman中几种格式,常用的有form-data、x-www-form-urlencoded、raw、binary,以下为四种格式的区别

    7、当项目中登录方式为单点登录,无法使用jmeter去模拟登录(因为授权码无法获取),所以需要了解下关于单点登录、oAuth2.0授权码的相关内容,以下是基础内容整理


    单点登录:
    oAuth2.0授权码:

    定义:Auth = Authorization,授权;O =open,开放,即开发授权

    应用场景:通用应用在开放平台的环境

    支持模式:

            

    8、使用git 提交jmeter内容注意事项

            8.1 在一文件夹A下,使用git clone 命令从远程拉取代码,会自动创建一个文件B;进入文件B下才会有master分支(在文件A下使用命令 cd filename 即可)

            技巧:输入B的文件名称前一段,使用TAB键可以自动带出B的文件名全称。

            8.2 上传文件,将文件放入拉取的文件夹下(如B文件)直接提交即可;提交之前需要先git status检查一下状态,确保提交的状态

            8.3 如果不确定修改内容全部正确/只提交固定文件,使用命令 git add filename

            8.4 创建分支并且切换到创建的分支:git checkout -b XXX(分支名)

    三、常用方法:(非原创)

    1、获取本月第一天以及最后一天

    1. import java.text.SimpleDateFormat;
    2. import java.util.Date;
    3. import java.text.*;
    4. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    5. //获取当前月第一天:
    6.     Calendar c = Calendar.getInstance();   
    7.     c.add(Calendar.MONTH, 0);
    8.     c.set(Calendar.HOUR_OF_DAY,0);
    9.     c.set(Calendar.MINUTE,0);
    10.     c.set(Calendar.SECOND,0);
    11.     c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 
    12.     String first = format.format(c.getTime());
    13.     vars.put("first",first);//第一个first是变量名,引用即可;第二个first是指将first的值赋到第一个first中去
    14. //获取当月最后一天:
    15.      Calendar ca = Calendar.getInstance();    
    16.      ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));  
    17.      ca.set(Calendar.HOUR_OF_DAY,23);
    18.     ca.set(Calendar.MINUTE,59);
    19.     ca.set(Calendar.SECOND,59);
    20.      String last = format.format(ca.getTime());  
    21. vars.put("month_end",last);

    使用方法:增加beanshell ,将代码粘进去,然后直接引用即可

  • 相关阅读:
    航空科普VR大型体验馆设备VR航天主题乐园星际飞碟vr游乐设备
    树莓派计划上市,估值或超5亿美元;Linus谈桌面Linux糟糕的原因;Julia 1.7发布 | 开源日报
    大学生简单静态HTML网页模板源码——家乡介绍美丽乡村11页
    Jmeter性能测试(P1)
    PyCharm配置Anaconda PyQt5开发环境
    软件测试项目该如何规避风险?
    技术分享 | Jenkins通过什么方式报警?
    手机号码认证什么价格?手机号码认证怎样申请?
    基于JavaWEB+MySQL的学生成绩综合管理系统
    GO语言篇之unsafe
  • 原文地址:https://blog.csdn.net/weixin_43490695/article/details/133903354