51Testing软件测试论坛

标题: 多用户运行时的关联问题。 [打印本页]

作者: tricy35    时间: 2008-4-24 18:48
标题: 多用户运行时的关联问题。
请大家帮我看看我这个问题怎么解决,谢谢!

测试的功能大概是这样的,新增一笔记录,然后对这条记录进行审批,录制成一个脚本。
由于审批时要用到新增记录的Oid,而新增记录的Oid是由服务器端实时生成的,因此不能参数化oid,只能使用手动关联。在新增处取得了oid后,在审批处引用。
目前的情况是单用户迭代跑多少次都没问题,但是多用户跑时,新增记录是能够成功的,但是跑到审批时,就会报错如下:
createUnit.c(71): Error -26377: No match found for the requested parameter "UnitOid". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 900000 bytes, use web_set_max_html_param_len to increase the parameter size

  看资料说要用到数组,我的理解是在这个脚本中,只会产生这一条oid,不应该存在数组的问题。不知道我这样理解对不对?
分析:是不是多用户跑时,每一次都会覆盖掉前一个用户所产生的oid,至使前一个用户跑到审批时,就不知道用什么oid了?
请高人们指点一下,小生先谢过了!

[ 本帖最后由 tricy35 于 2008-4-25 09:12 编辑 ]
作者: iori    时间: 2008-4-25 09:31
你关联函数的位置是否正确,是否还有没有关联的函数?
作者: tricy35    时间: 2008-4-25 11:10
位置是对的,如果位置不对或者关联函数不够的话应该单用户跑时就报错了。
作者: iori    时间: 2008-4-25 11:29
代码放上来看看
作者: tricy35    时间: 2008-4-25 12:42
呵呵解决了。原来是web_reg_save_param多写了一个ORD选项。
        web_reg_save_param("unitOid",
                "LB=<input type=\"hidden\" name=\"unitOid\" value=\"",
                "RB=\">",  
                  "ORD=ALL",
                "Search=Body",
                "RelFrameId=1",
        LAST);
把ORD选项去掉就好了。
分析:我想如果加了ORD=ALL,由于存入的是数组,那么在下面的引用中就不能直接使用{unitOid},应该类似于数组引用一样,要加上下标。由于脚本中只有一个可以匹配关联函数的,所以把这个ORD选项去掉就好。

疑问:如果说是加上了ORD=ALL,那么在后面该怎么引用呢?看资料上说写{unitOid_1}是不行的。




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