51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 关于HTTP请求的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-6 16:24:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在LR测试的WEB系统中,录制时有一句判断是否在线的在脚本如下:
web_custom_request("Controls_WebOnline,App_Web_webonline.ascx.cc671b29.ashx",
  "URL=http://192.168.11.2:88/lgsoft30/ajaxpro/Controls_WebOnline,App_Web_webonline.ascx.cc671b29.ashx",
  "Method=POST",
  "TargetFrame=",
  "Resource=0",
  "RecContentType=text/plain",
  "Referer=http://192.168.11.2:88/lgsoft30/IndexAdmin.aspx",
  "Snapshot=t14.inf",
  "Mode=HTML",
  "EncType=text/plain; charset=utf-8",
  "Body={}",
  LAST);
在用LR执行脚本web_custom_request函数请求中,服务器没有返回任何值,返回的数据信息如下:
vuser_init.c(174): 警告: 带有参数分隔符的字符串“”不是参数。
vuser_init.c(174): “http://192.168.11.2:88/lgsoft30/ajaxpro/Controls_WebOnline,App_Web_webonline.ascx.cc671b29.ashx”(RelFrameId=1)的 t=41364ms: 178 个字节响应标头
vuser_init.c(174):     HTTP/1.1 200 OK\r\n
vuser_init.c(174):     Date: Tue, 06 Jul 2010 07:53:38 GMT\r\n
vuser_init.c(174):     Server: Microsoft-IIS/6.0\r\n
vuser_init.c(174):     X-Powered-By: ASP.NET\r\n
vuser_init.c(174):     X-AspNet-Version: 2.0.50727\r\n
vuser_init.c(174):     Cache-Control: private\r\n
vuser_init.c(174):     Content-Length: 0\r\n
vuser_init.c(174):     \r\n
vuser_init.c(174): web_custom_request("Controls_WebOnline,App_Web_webonline.ascx.cc671b29.ashx") 已成功,0 个正文字节,178 介标头字节   [MsgId: MMSG-26386]
这个脚本没有关联,没有任何参数化的数据,奇怪就是执行的时候没有数据返回,我用了Fiddler2这个HTTP调试工具进行调试,该LR脚本对应的树视图下的HTTP请求如下,我用这个请求在Fiddler2下创建了一个相同的HTTP请求,发送给服务器,服务器可以返回正确的值,但是执行该请求所对应的LR函数时就是得不到返回的数据。这是为什么啊?是不是这条web_custom_request语句没有执行它对应树视图下的HTTP请求,如果是这样,那么它执行的HTTP请求是在哪里可以看到呢?望高手解答~
Header:
------------------------------------------
POST http://192.168.11.2:88/lgsoft30/ajaxpro/Controls_WebOnline,App_Web_webonline.ascx.cc671b29.ashx HTTP/1.1
Accept: */*
Accept-Language: zh-cn
x-ajaxpro-method: ReOnline
Referer: http://192.168.11.2:88/lgsoft30/IndexAdmin.aspx
Content-Type: text/plain; charset=utf-8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: 192.168.11.2:88
Content-Length: 2
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: ASP.NET_SessionId=4cftasejljirp1blodmy0155; ShortName=sysadmin
Body:
------------------------------------------
"{}"

PS:  参看了下帮助文档,里面提到了用web_add_header函数添加HTTP请求消息头,然后再利用web_custom_request发送客户请求,然后我在函数执行之前添加Cookie值,如下,但是还是不行
web_add_header("Cookie",
  "ASP.NET_SessionId=4cftasejljirp1blodmy0155; ShortName=sysadmin");


无助之下发帖求助~望不吝指教~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-7-6 16:43:19 | 只看该作者
一个简单的办法,把LR的代理指到Fiddler2的端口去,默认127.0.0.1:8888,再和正常的对比一下,就知道为什么了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-7-6 16:53:13 | 只看该作者
又遇见仁兄你了,拜谢你的赐教 ~你的意思是不是用Fiddler捕获LR和服务器的通讯啊?那我试试看看~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-7-6 17:30:09 | 只看该作者

回复 2# 的帖子

搞定了,LR发送的HTTP头里少了个x-ajaxpro-method: ReOnline,添加进去就好了~多谢~
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2010-7-6 22:39:19 | 只看该作者
    http的比较容易搞定
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 04:46 , Processed in 0.096454 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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