你好,我正在使用JMeter测试应用程序,但在尝试任何复杂的测试计划之前,我决定尝试一个简单的请求。
我的测试计划是这样的:
Sampler-->HTTP请求
nbsp 名称:重定向测试
nbsp 服务器名称或IP:localhost/sample
nbsp 方法:GET
nbsp 路径:redir.php
我的redir.php有这样的代码<meta http-equiv="refresh" content="0;url=here.php">
我的here.php文件包含以下文本:HELLO, YOU HAVE BEEN REDIRECTED
之后,我创建了一个Response assertion
,用于搜索单词"HELLO"。
当我执行计划并在View Results Tree
侦听器中检查结果时,它说出现了错误,因为找不到单词"HELLO"。
此图显示了我的HTTP请求配置
http://s7.postimg.org/k19tw7p0r/http_Request.png
这个断言:
http://s4.postimg.org/4dg2sebfh/htpp.png
这是JMeter返回给我的错误
http://s8.postimg.org/dxbl00wv9/error_fdfdf.png
我一直在搜索,我在响应数据部分找到了这个:
http://s9.postimg.org/h49m8ippr/redirect.png
看起来Jmeter正在搜索响应中的字符串"HOLA"。
我非常感谢的任何帮助
JMeter不是浏览器,因此不会解释包含以下内容的HTML页面:
<meta-http-equiv="refresh"content="0;url=here.php"/>
所以断言失败,因为这个页面不包含"Hello"。
因此,为了使您的示例正常工作,您需要从上一个响应中提取"here.php",让JMeter调用它,然后在后一个响应中将Hello单词检查出来。
为此,在第一个请求下添加正则表达式提取器,并提取url
然后添加一个HttpRequest来调用这个URL,并在那里添加您的断言。