安享智慧理财项目 测试6

Mock说明

要模拟哪些内容?
1、响应数据
2、响应状态码

实现:定义接口 模拟返回结果

设置符合条件的网络请求参数

返回响应的结果

设置不符合条件的网络请求参数

返回响应的结果

上面是JMeter返回数据汉字显示为Unicode字符串

只需要设置一下即可正确返回汉字

解决过程:
1.修改jmeter配置文件中的默认编码
在Jmeter的安装路径下打开bin文件夹下的jmeter.properties文件,搜索关键词default.encoding定位到语句【#sampleresult.default.encoding=ISO-8859-1】。
将注释#删掉,并改成utf-8编码

2.添加后置处理器BeanShellPostProcessor和转码代码
添加后置处理器BeanShellPostProcessor,在Script中附上转码代码

转码代码如下:
//获取响应代码Unicode编码的
        String s2=new String(prev.getResponseData(),"UTF-8");
//---------------以下步骤为转码过程---------------
        char aChar;
        int len= s2.length();
        StringBuffer outBuffer=new StringBuffer(len);
        for(int x =0; x <len;){
            aChar= s2.charAt(x++);
            if(aChar=='\\'){
                aChar= s2.charAt(x++);
                if(aChar=='u'){
                    int value =0;
                    for(int i=0;i<4;i++){
                        aChar= s2.charAt(x++);
                        switch(aChar){
                            case'0':
                            case'1':
                            case'2':
                            case'3':
                            case'4':
                            case'5':
                            case'6':
                            case'7':
                            case'8':
                            case'9':
                                value=(value <<4)+aChar-'0';
                                break;
                            case'a':
                            case'b':
                            case'c':
                            case'd':
                            case'e':
                            case'f':
                                value=(value <<4)+10+aChar-'a';
                                break;
                            case'A':
                            case'B':
                            case'C':
                            case'D':
                            case'E':
                            case'F':
                                value=(value <<4)+10+aChar-'A';
                                break;
                            default:
                                throw new IllegalArgumentException(
                                        "Malformed   \\uxxxx  encoding.");}}
                    outBuffer.append((char) value);}else{
                    if(aChar=='t')
                        aChar='\t';
                    else if(aChar=='r')

以下为正确显示

回到项目

连接数据库工具

mock代码 写接口 把数据提取出来 保存起来

常见面试题

接口测试数据的准备

构造数据

二、构造测试数据

构造数据的方式

        通过系统页面构造

        通过接口构造

        通过数据库构造

2.1通过系统页面构造

优点:可视化页面操作

缺点:复杂,操作步骤较多,不适合频繁改造数据

示例:参考发布的借款标流程

2.2通过接口构造

优点:数据块

缺点:接口耦合度高(接口之间依赖性强,一个失败,后面全失败)

建议:适合依赖三个以内接口进行构造

2.3通过数据库构造【推荐】

优点:灵活度大,执行速度最快

缺点:需要熟悉库、标、字段

建议:使用SQL语句时,使用复制生成的SQL语句,修改主要字段值

2.4构造借款业务数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值