51Testing软件测试论坛

标题: 关于Ajax协议下的脚本回放问题 [打印本页]

作者: kevin_swpi    时间: 2009-1-3 15:17
标题: 关于Ajax协议下的脚本回放问题
相关情况:
系统架构: Brawsers-->ASP.NET(server)-->WEBService(WCF server)-->DB Server
一个项目在页面是用ajax提交的数据,采用ajax进行录制
问题
回放的时候,在数据库中没有生成相应数据 --这个数据在页面中操作是能成功创建的
换了个功能点录制脚本(查询),但是回放后还是没有返回查询的数据--这个数据在页面中操作是能正常返回的

问题跟踪
怀疑是LR发送请求失败,但我用其他工具截获了LR发送的请求,有请求发送出去

截取到的请求和返回
====发送的请求
POST /InvoiceMgmt/ajaxpro/OZZO.Oversea.US.InvoiceManagement.WebUI.SKUConfigSetup,OZZO.Oversea.US.InvoiceManagement.WebUI.ashx HTTP/1.1
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache
Referer: http://localhost:8080/InvoiceMgmt/Pages/ServicePricing/Config/SKUConfigSetup.aspx
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.1; MS-RTC LM 8)
Accept-Encoding: gzip, deflate
Accept-Language: zh-cn
Accept: */*
Connection: Keep-Alive
Host: localhost:8080
Content-Length: 195

{"query":{"Condition":{"CompanyCode":null,"TransactionNumber":null,"SKUNO":null,"ItemCode":"3000001730010","Status":"O","FromDate":null,"ToDate":null},"PagingInfo":{"PageSize":10,"PageIndex":0}}}

====返回的
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2009 07:06:04 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-UA-Compatible: IE=7;IE=6;IE=8
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0


===========这是为什么。。。恳请大侠答疑!
作者: kevin_swpi    时间: 2009-1-3 15:18
后来我又换用了web协议的URL模式进行录制回放
结果问题是一样的。。。
作者: lhj    时间: 2009-1-4 15:36
楼上的有没研究出好的方法,我也碰到同样的问题了。
作者: kevin_swpi    时间: 2009-1-4 17:35
这个帖子不能沉下去吧。。。。
求解!
作者: 云层    时间: 2009-1-4 18:04
试试自己写一个
        web_custom_request("ajax",
                "URL=http://127.0.0.1//InvoiceMgmt/ajaxpro/OZZO.Oversea.US.InvoiceManagement.WebUI.SKUConfigSetup,OZZO.Oversea.US.InvoiceManagement.WebUI.ashx ",
                "Method=POST",                
"Body={"query":{"Condition":{"CompanyCode":null,"TransactionNumber":null,"SKUNO":null,"ItemCode":"3000001730010","Status":"O","FromDate":null,"ToDate":null},"PagingInfo":{"PageSize":10,"PageIndex":0}}}"
                LAST);

大概打个格式,你稍微调整一下,就是你手动写个请求强行发出去就行了
作者: kevin_swpi    时间: 2009-1-6 09:52
这个我也试了
还是一样的结果

继续找原因.....

那位大侠要是遇到这样的问题也曾经解决过
还望赐教
作者: kevin_swpi    时间: 2009-1-6 14:17
braser-->asp.net server-->WCF server-->DB server

今天我在asp.net server,WCF server上面都加了LOG日志
发现都没有接收到浏览器发过来的请求

脚本有发送request的代码的
web_custom_request("OZZO.Oversea.US.InvoiceManagement.WebUI.SKUConfigSetup,OZZO.Oversea.US.InvoiceManagement.WebUI.ashx",
  "URL=http://10.1.41.194:888/InvoiceMgmt/ajaxpro/OZZO.Oversea.US.InvoiceManagement.WebUI.SKUConfigSetup,OZZO.Oversea.US.InvoiceManagement.WebUI.ashx",
  "Method=POST",
  "TargetFrame=",
  "Resource=0",
  "RecContentType=text/plain",
  "Referer=http://10.1.41.194:888/InvoiceMgmt/Pages/ServicePricing/Config/SKUConfigSetup.aspx#",
  "Snapshot=t3.inf",
  "Mode=HTML",
  "EncType=text/plain; charset=utf-8",
  "Body={\"query\":{\"Condition\":{\"CompanyCode\":null,\"TransactionNumber\":null,\"SKUNO\":null,\"ItemCode\":\"3000001730010\",\"Status\":\"O\",\"FromDate\":null,\"ToDate\":null},\"PagingInfo\":{\"PageSize\":10,\"PageIndex\":0}}}",
  LAST);

但是asp.net server的log现实没有收到

我分别用ajax,web(http),web(http+web server)三个协议录制了脚本,运行的时候都是一样的情况
请求都没有发送到asp。net server端

为什么呢?

继续等待
作者: vickiren    时间: 2009-8-20 10:08
貌似我的也差不多哦  怎么样子了呢现在。
作者: alexanty    时间: 2009-9-3 22:52
是不是与ajax本身功能有关呢,ajax只是一个局部的请求,但这。。。
作者: jane241cn    时间: 2009-9-28 11:27
遇到类似的问题了
顶上去
作者: Oilio    时间: 2009-9-28 12:09
我觉得应该采用多协议模式录制脚本。
web(http/html) &  ajax ???

导致脚本回放失败的原因无外乎下面几点:
1.脚本中存在动态的数据
2.脚本没有录制到所有该录制的协议
3.LR系统问题

我想第2点,可能最大。
作者: wujie0919    时间: 2010-1-22 14:08
楼上的  我试过了  ajax协议跟web协议不能一起···
作者: 云层    时间: 2010-1-22 22:41
用web协议来处理ajax用url_base scrip来录制,最近做了个google的ajax处理方法,也许可以参考




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2