51Testing软件测试论坛

标题: 录制的脚本,回放时保存不成功 [打印本页]

作者: akroundak    时间: 2013-8-14 16:30
标题: 录制的脚本,回放时保存不成功
通过系统的自动关联功能发现录制脚本的时候,保存操作的响应正文是“ture”成功的,但是回放的时候,响应正文的状态变成了“false”。这是为什么呢?

录制时的响应正文

<html>
<head>
<script language="javascript">
function window_onload(){
  var popupWindow = window.parent;
  popupWindow.returnValue = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
          document.getElementById("__RPCResult").innerHTML;
  popupWindow.ignoreAgentCloseWarning = true;
  popupWindow.close();
}
</script>
</head>
<body language="javascript" onload="return window_onload()">
<xml id="__RPCResult" style="display: none">
<result succeed="true" >
<requeryPath></requeryPath>
<outParameters><p name="message" value="客户信息数据保存成功" dataType="1" /><p name="clientId" value="40288258407a7c9c01407bd0c14f00c6" dataType="1" /></outParameters>
<rs reduceReturnInfo="false" >
<record id="10113"  state="none" >
<new>,40288258407a7c9c01407bd0c14f00c6,kehu002,daibiao002,,,,,,,01,,01,01,,,,,,,,8f0ccf1b8f2141ec809ed73231fedbb7,1080100001,%u5317%u4EAC%u5E02%u6D77%u6DC0%u533A%u6E29%u6CC9%u519C%u5DE5%u5546%u603B%u516C%u53F8,1080100001,1369324800000,1,,,,,,,,%2D1%40af9e9df3b33c4ff3b58fba10862e9d5d%40f7637d0f7abc4f008b364a45cf9f50e3%408f0ccf1b8f2141ec809ed73231fedbb7,2012,,0,0,,1,,8f0ccf1b8f2141ec809ed73231fedbb7,,,,,,0,1,,</new>
</record>
</rs>
<viewProperties></viewProperties>
</result></xml></body></html>
回放时的响应正文

<html>
<head>
<script language="javascript">
function window_onload(){
  var popupWindow = window.parent;
  popupWindow.returnValue = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
          document.getElementById("__RPCResult").innerHTML;
  popupWindow.ignoreAgentCloseWarning = true;
  popupWindow.close();
}
</script>
</head>
<body language="javascript" onload="return window_onload()">
<xml id="__RPCResult" style="display: none">
<result succeed="false" >
<errorMessage>org.jdom.input.JDOMParseException: Error on line 1: Content is not allowed in prolog.</errorMessage>
<stackTrace><![CDATA[com.fleo.bplat.utils.xml.jdom9.JDomXmlBuilder.buildDocument(JDomXmlBuilder.java:29)
com.fleo.bplat.view.rpc.AbstractRPCHandler.init(AbstractRPCHandler.java:40)
com.fleo.bplat.view.rpc.BaseRPCHandler.init(BaseRPCHandler.java:18)
com.fleo.bplat.view.rpc.UpdateDataRPCHandler.init(UpdateDataRPCHandler.java:29)
com.fleo.bplat.core.FilterHandle.doAgentRPCFilter(FilterHandle.java:219)
com.fleo.bplat.core.FilterHandle.doFilter(FilterHandle.java:131)
com.fleo.bplat.core.BplatFilter.doFilter(BplatFilter.java:41)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)
]]></stackTrace>
<viewProperties></viewProperties>
</result></xml></body></html>
作者: ffwithvv    时间: 2013-8-14 16:36
业务逻辑上允许保存相同的数据吗?
作者: akroundak    时间: 2013-8-14 16:44
回复 2# ffwithvv
我已经修改了一个不能相同的值了。其他值没有做控制,所以应该不是这个问题了
作者: akroundak    时间: 2013-8-14 16:50
刚刚搜索“JDOMParseException: Error on line 1: Content is not allowed in prolog”这个报错信息
说是XML文件本身的问题或者编码方式不对。

但是为什么录制的时候响应正文又是正常的呢?难道是回放的时候loadrunner解析这个xml出错了?
作者: ffwithvv    时间: 2013-8-15 14:56
回复  ffwithvv
我已经修改了一个不能相同的值了。其他值没有做控制,所以应该不是这个问题了
akroundak 发表于 2013-8-14 16:44



    我的意思是,你录制的时候保存了一条记录A,你回放的时候,又保存了一次A,那么你的系统业务逻辑上允许可以保存相同的记录吗?如果不行,那么自然回放的时候会提示错误
作者: 地壳    时间: 2013-8-16 11:03
是因为重复保存__RPCResult吗?
作者: akroundak    时间: 2013-8-22 10:50
回复 5# ffwithvv
回放的时候我已经修改了参数,应该不存在业务逻辑上不能保存的情况。
作者: akroundak    时间: 2013-8-22 10:54
录制的web程序基于ajax,录制的时候试过很多种模式AJAX (Click and Script),http/html,url都试过。录制脚本没问题,几乎都是到了保存这一步,返回的信息会有这样一个报错。是因为异步的关系吗?如何解决呢?




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