51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2736|回复: 16
打印 上一主题 下一主题

[求助] 关联遇到的问题,求助

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-7-25 16:34:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 v_v 于 2012-7-25 16:36 编辑

业务流程是每一条记录接收后,要经过3步审批任务,每一步都产生了一个新的rwlsh 值, 我从RecodingLog\Tree 结合回放日志关联都没取到每一步的rwlsh的值。。。不知道问题出在哪?哪位高手帮忙看看脚本。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-7-25 17:13:36 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-7-25 17:38:51 | 只看该作者
没取到,要是录制上了,就说明你没有找对地方!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2012-7-25 22:13:19 | 只看该作者
求高手指点怎么能取到rwlsh的值?关联不到啊
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-7-26 01:59:11 | 只看该作者
业务流程是每一条记录接收后,要经过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)函数,它的响应结果就包括上面搜索出的那一段。接下来就是使用关联函数进行处理了,就没什么好说的了。

其他几处也是同样的道理,我就不一一看了。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2012-7-26 10:16:21 | 只看该作者
回复 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",
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2012-7-26 10:31:43 | 只看该作者
回复  放任无奈


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



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

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2012-7-26 10:53:23 | 只看该作者
回复 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;

选中黑体部分内容右键创建的关联也取不到这个值。。。贴图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2012-7-26 11:12:49 | 只看该作者
回复 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......
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2012-7-26 12:25:44 | 只看该作者
大侠们呢?小白求助中。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2012-7-26 13:19:08 | 只看该作者
问题解决了,自己加断电调试了,找到了服务器返回那个值的具体位置
web_submit_data("SimpleQueryServlet.xzsp_7",
..............
还是要慢慢找才找的对地方噢。
感谢“放任无奈” 提供了很多的思路
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2012-7-26 13:20:07 | 只看该作者
问题解决了,F9 真是个好东西!
感谢“放任无奈” 提供的很多思路。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2012-7-27 00:13:45 | 只看该作者
问题解决了,自己加断电调试了,找到了服务器返回那个值的具体位置
web_submit_data("SimpleQueryServlet. ...
v_v 发表于 2012-7-26 13:19



如果你取的值是正确的,也肯定不是第一次返回该值的地方,不过只要不影响流程,也无所谓了。
web_submit_data("ServletXZXK_LTC.xzsp")这个提交操作才是真正生成这个rwlsh的地方,之前说了,想看看为什么关联不到这个数据,比较好的一个方式是获取完整的响应数据,看看到底是你关联的边界设置有问题,还是确实返回的数据有问题,也许你会因此发现脚本的无效性。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-7-27 10:03:01 | 只看该作者
额,原来是这样子.....
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2014-12-18 14:44
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2012-7-30 10:17:50 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2012-7-31 20:48:45 | 只看该作者
    本帖最后由 v_v 于 2012-7-31 20:50 编辑

      回复 5# 放任无奈
        嗯,业务是第一的,我之前纠结就是这个地方怎么就返回不了值,不是关联些错了,是确实这里取不到。我还是无边界关联取所有返回,F9调试才确定了值。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2012-7-31 20:50:02 | 只看该作者
    回复 14# sanbananzihan


        这个是比较基础的,确实要好好理解。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-7 18:02 , Processed in 0.081065 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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