51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5019|回复: 4
打印 上一主题 下一主题

jmeter 请求中&如何转义&

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-12-10 17:20:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
jmeter 请求中&如何转义&

后一个sampler中需要用到前一个sampler 中服务器返回的下载地址
但是返回的地址里面& 显示的是&
直接用这个返回的地址进去请求时,返回空,
所以我想把这个&替换成&
在前一个sampler中加了断言,
在两个sampler之间加了 BeanShell PostProcessor
在后一个sampler中调用
代码如下:
//int num = ${urls_matchNr};
String temp = "";
int i = 1;
temp = vars.get("urls_" + i);
temp.replaceAll("\&","\&");
vars.put("url",temp);

但是运行时,请求中直接发送的是 “${url}”这个字符,而不是希望的地址
请问,是我上面的代码有问题吗,还是其他什么原因??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2014-12-10 23:05:43 | 只看该作者
服务器返回的是html代码,那里面的&代表&,java里面\&是非法转义符,把你的那两个反斜杠去掉试试
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2014-12-11 08:39:16 | 只看该作者
肖德兵 发表于 2014-12-10 23:05
服务器返回的是html代码,那里面的&代表&,java里面\&是非法转义符,把你的那两个反斜杠去掉试试

试过,去掉\也不行,
再问个问题,jmeter中怎么调试这段代码,在调用之前我想先看&是不是替换掉了,变量url中是否保存的是正确的值,
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2014-12-16 13:04:32 | 只看该作者
String temp = "";
//int i = 1;
temp = vars.get("urls");
vars.put("url",temp.replaceAll("&","&"));

还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的.

回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    5#
    发表于 2015-3-5 15:04:08 | 只看该作者
    ${__unescapeHtml(“&”)}
    会转义为&
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-27 15:22 , Processed in 0.072955 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表