您好我正在使用JMeter测试应用程序,但在尝试任何复杂的测试计划之前,我决定尝试一个简单的请求。
我的测试计划是这样的:
采样器 - > HTTP请求
名称:重定向测试
服务器名称或IP:localhost / sample
方法:GET
路径:redir.php
我的redir.php有这段代码<meta http-equiv="refresh" content="0;url=here.php">
我的here.php文件包含以下文字:HELLO, YOU HAVE BEEN REDIRECTED
之后,我创建了一个Response assertion
来搜索“你好”这个词。
当我执行计划并检查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'。
我感谢任何帮助
答案 0 :(得分:1)
JMeter不是浏览器,因此不会解释包含以下内容的HTML页面:
&lt; meta http-equiv =“refresh”content =“0; url = here.php”/&gt;
因此断言失败,因为此页面不包含“Hello”。
因此,为了使您的示例工作,您需要从先前的响应“here.php”中提取,让JMeter调用它,然后在后一个响应中检查Hello字。
为此,请在第一个请求下添加Regular Expression Extractor并提取网址
然后添加一个Http请求来调用此URL并在那里添加断言。