51Testing软件测试论坛

标题: 关联遇到的问题,求助 [打印本页]

作者: v_v    时间: 2012-7-25 16:34
标题: 关联遇到的问题,求助
本帖最后由 v_v 于 2012-7-25 16:36 编辑

业务流程是每一条记录接收后,要经过3步审批任务,每一步都产生了一个新的rwlsh 值, 我从RecodingLog\Tree 结合回放日志关联都没取到每一步的rwlsh的值。。。不知道问题出在哪?哪位高手[attach]80151[/attach][attach]80152[/attach]帮忙看看脚本。
作者: v_v    时间: 2012-7-25 17:13
顶一下
作者: lyqingme    时间: 2012-7-25 17:38
没取到,要是录制上了,就说明你没有找对地方!
作者: v_v    时间: 2012-7-25 22:13
求高手指点怎么能取到rwlsh的值?关联不到啊
作者: 放任无奈    时间: 2012-7-26 01:59
业务流程是每一条记录接收后,要经过3步审批任务,每一步都产生了一个新的rwlsh 值, 我从RecodingLog\Tree ...
v_v 发表于 2012-7-25 16:34



    随便看了一下,很简单,估计你还是没太理解关联吧。你脚本中的第一个rwlsh是2c@2023@20120725131538@-1767,那么首先肯定的是要在这个值出现之前去做关联,也就是你的“跳转任务1”这个事务之前。

为了验证的确能够关联到这个值(有时确实有一些情况是无法做关联的),可以先在Generation Log中做一次搜索(不知道你为什么提到了Recording Log?),第一次出现是这样的
  1. <script>var tokenStr="ca36c118e67a30e0a42a7ef14b3298f2"; if(window.confirm("接收材料操作成功,确定将继续办理 [材料完整性审查] 工作?")){
  2. var taskInfo  = new Array();
  3. taskInfo[0]  = "2c@2023@20120725131538@-1767";
  4. taskInfo[1]  = "XZXK_LT03_YPLS@94@20120716111815@1130923167";
  5. taskInfo[2]  = tokenStr;
  6. window.returnValue=taskInfo;
  7. window.close();}</script>
复制代码
很明显,这是一个RESPONSE,我们只需要在这里把taskInfo[0]的值关联就好了。
那么下一步就是要找到这是哪个REQUEST的RESPONSE,如果你能根据Generation Log中的上下文判断出事务,那是最好了。如果不能,也没关系,在脚本中从第一次出现需要关联值之处,向前查看每个请求的TREE VIEW,在相应的源文件中去搜索这个值,很快就会找到这个请求的。

你这里,也就是跳转事务1之前的第一个web_submit_data(ServletXZXK_LTC.xzsp)函数,它的响应结果就包括上面搜索出的那一段。接下来就是使用关联函数进行处理了,就没什么好说的了。

其他几处也是同样的道理,我就不一一看了。
作者: v_v    时间: 2012-7-26 10:16
回复 5# 放任无奈


    感谢帮忙了
我按你说的,设置了关联,但还是取不到值,是不是关联做的不对了?
        web_reg_save_param("rwlsh01",
                "LB=taskInfo[0]  = \"",
                "RB=\"",
                "Ord=1",
                "Search=All",
                LAST);


        web_submit_data("ServletXZXK_LTC.xzsp",
                "Action=http://shfda-oaweb/apMan/com/pdcss/xzsp/logic/ServletXZXK_LTC.xzsp",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://shfda-oaweb/apMan/com/pdcss/xzsp/logic/ServletXZXK_LTC.xzsp?acttype=view&page=/aamp/xksqsl/lt0301/lt0301bg.jsp&bgbz=1&qydm=T8097974235&sqzlh=SHLT030316120173&xdata=<ROOT><XZXK_LT03_YPLS%20SQID=\"XZXK_LT03_YPLS@94@20120716111815@1130923167\"%20SLID=\"XZXK_LT03_YPLS@94@20120716111815@1130923167\"/></ROOT>",
                "Snapshot=t89.inf",
                "Mode=HTTP",
作者: 放任无奈    时间: 2012-7-26 10:31
回复  放任无奈


    感谢帮忙了
我按你说的,设置了关联,但还是取不到值,是不是关联做的 ...
v_v 发表于 2012-7-26 10:16



    只要能确定在哪个响应中能找到结果,就应该能取到。除非你那个响应的结果就是不正常的,比如之前的步骤就错了,你的脚本里做验证的地方太少,根本无法保证每一步的正确性,很可能提交时甚至之前就失败了,后面关联不到也就很正常了。可以把这个响应的BODY输出来,看一下内容。
作者: v_v    时间: 2012-7-26 10:53
回复 5# 放任无奈


    我在Tree 视图中找到了你说的那个
<script>var tokenStr="ca36c118e67a30e0a42a7ef14b3298f2"; if(window.confirm("接收材料操作成功,确定将继续办理 [材料完整性审查] 工作?")){
var taskInfo  = new Array();
taskInfo[0]  = "2c@2023@20120725131538@-1767";
taskInfo[1]  = "XZXK_LT03_YPLS@94@20120716111815@1130923167";
taskInfo[2]  = tokenStr;

选中黑体部分内容右键创建的关联也取不到这个值。。。贴图 [attach]80165[/attach]
作者: v_v    时间: 2012-7-26 11:12
回复 7# 放任无奈

跳转任务1之前的应该没什么问题的,就需要参数化一个SQID,我后面加了文本验证也通过了。就是你说的那个
            web_submit_data("ServletXZXK_LTC.xzsp",
  我是在他之前关联的。在tree视图确实里面找到了那个值。可就是关联不出。。老报错:
Error -26377: No match found for the requested parameter "WCSParam_Text1". Check whether the reques......
作者: v_v    时间: 2012-7-26 12:25
大侠们呢?小白求助中。
作者: v_v    时间: 2012-7-26 13:19
问题解决了,自己加断电调试了,找到了服务器返回那个值的具体位置
web_submit_data("SimpleQueryServlet.xzsp_7",
..............
还是要慢慢找才找的对地方噢。
感谢“放任无奈” 提供了很多的思路
作者: v_v    时间: 2012-7-26 13:20
问题解决了,F9 真是个好东西!
感谢“放任无奈” 提供的很多思路。
作者: 放任无奈    时间: 2012-7-27 00:13
问题解决了,自己加断电调试了,找到了服务器返回那个值的具体位置
web_submit_data("SimpleQueryServlet. ...
v_v 发表于 2012-7-26 13:19



如果你取的值是正确的,也肯定不是第一次返回该值的地方,不过只要不影响流程,也无所谓了。
web_submit_data("ServletXZXK_LTC.xzsp")这个提交操作才是真正生成这个rwlsh的地方,之前说了,想看看为什么关联不到这个数据,比较好的一个方式是获取完整的响应数据,看看到底是你关联的边界设置有问题,还是确实返回的数据有问题,也许你会因此发现脚本的无效性。
作者: sanbananzihan    时间: 2012-7-27 10:03
额,原来是这样子.....
作者: 51Xiaolin    时间: 2012-7-30 10:17
这个东西需要经验  参考 http://www.51testing.com/index.p ... space-itemid-239648
作者: v_v    时间: 2012-7-31 20:48
本帖最后由 v_v 于 2012-7-31 20:50 编辑

  回复 5# 放任无奈
    嗯,业务是第一的,我之前纠结就是这个地方怎么就返回不了值,不是关联些错了,是确实这里取不到。我还是无边界关联取所有返回,F9调试才确定了值。
作者: v_v    时间: 2012-7-31 20:50
回复 14# sanbananzihan


    这个是比较基础的,确实要好好理解。




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