Jmeter 脚本编写的注意点

Jmeter 脚本编写的注意点

1、分析http
2、http head 的添加
3、http cookies 添加
4、http 跟随定向
5、jmeter beanshell 编写
6、正则表达式的Head 获取
7、单点登录的思路
8、415 – 不支持的媒体类型  
                1:检查你的 http 请求头信息,比如 因为 User-Agent 被服务器设置 拒绝请求了;
                    比如你写的的爬虫,就很有可能因为没有伪装成浏览器,被拒绝请求
                    user-agent 详情
                2:查看你的 http 请求方法,以及服务器端的设置
                   比如:有一个 强制用 post 请求的接口,你是不是用了非post 请求
                3:post 请求参数设置,是不是必须的,json 格式
9、注意http的请求方法
10、beanshell脚本
    1、确实Random的伪随机值不重复,则使用HashSet中不可添加重复的值,HashSet.size()进行while 确实要添加的数组。最终确定随机不重复的值。
                import java.util.HashSet;
                HashSet set = new HashSet();  不支持 HashSe set = new HashSet();
    2、使用Jmeter 内置函数时,不能使用来做为java函数使用 如随机数:_Random(int, int, int) 是 不可以传递变量来进行随机的 
    3、变量的下标拼接
               jmeter 的下标从1开始
               Integer ncount = Integer.parseInt(vars.get("count")) - 1;
               int  index =  ran1.nextInt(ncount)%(ncount-1) + 1; 
               String feeRuleid_index = "feeRuleId_" + index;
               String feeRuleId = vars.get(feeRuleid_index); 
    4、多位小数  
                1位整数+两位小数
                Double tem=(${__Random(0,9,)}*0.01 +${__Random(0,9,)}*0.1 +${__Random(0,5,)} / 100) ;
11、编写脚本的时候 要考虑数据的对称性
        数据的一致性:如获取多个订单信息,对其中的随机的机构订单进行操作,后续对其中的一个订单的商品信息修改,该时候改注意后面操作的商品信息是对应要修改订单,而不是错位的修改其他的商品信息。
12、优化报文的对接
13、java 正则表达式
        覆盖:将replaceRegex的数据全部覆盖REGEX(匹配上的字符串)
        String REGEX = "feeRate\":(.*?),\"floating";
        String replaceRegex = "feeRate\":XXX,\"floating";
        Pattern p = Pattern.compile(REGEX);
        // get a matcher object
        Matcher matcher =  p.matcher(fee_item);
        if(matcher.find()){
                fee_item = matcher.replaceAll(replaceRegex);
        }
14、http get response-data 为大量的数据时候 应该Jmeter 加上http 应该每次进行get的时候也会消耗一定的服务器资源
        如 刚进入模块的任务查看版, 做完操作如提交之后的返回界面重新查询数据,切换菜单的请求的隐藏数据如 使用json作为ui元素返回数据在进行js重装界面
15、        

你可能感兴趣的:(jmeter,jmeter)