51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2435|回复: 6
打印 上一主题 下一主题

[原创] 紧急求助!和关联有关系!我实在没办法了!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-12 20:13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们这个系统的业务是这样的:第一个节点一个用户提交一个流程,注销,然后分公司经理登陆,审批,按“提交”,流程再流到下一个节点,如此...

用户登陆—提交流程—注销—分公司经理登陆—审批流程(动作为“提交”)—注销—片员登陆—审批—........


每提交一个流程会产生一个新的 workflowid

我在如下用关联将workflowid代替成{workflowid}
web_reg_save_param("workflowid",
"LB=/vworkflow/workflow/workflow.jsp?workflowid=",
"RB=\r",
"NotFound=EMPTY",
LAST);
这个时候发现第一个节点提交流程可以顺利提交成功,而且一次提交10个用户也可以成功

另外有个地方要说明下,提交流程的时候,可以填写流程名,但是在提交之后,系统会自动加上一串业务数字,如,我填写HDYK,最后流程名就变成,如:HDYK22108060035

为了避免麻烦,开始我将脚本里,分公司经理登陆之后打开流程页面的部分(本来是从“待办任务”里点名字连接),
直接替换成“开新窗口直接输入IP地址”的方法打开流程页面
这样就避免了从“待办任务”里打开(不用产生根据连接名来点开连接的事件),就做了一定的规避

这个时候奇怪的事情发生了
报错:
Action.c(917): Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://192.168.2.51:8082/vworkflow/workflow/workflow.jsp?workflowid="

而且从报错信息看,{workflowid}似乎被忽略了,脚本里走到这里是:
web_url("workflow.jsp",
"URL=http://192.168.2.51:8082/vworkflow/workflow/workflow.jsp?workflowid={workflowid}",

为证明脚本的可行性,我把脚本的{workflowid}替换成真实存在的workflowid,单用户跑,可以走完流程!

后来有试验了好多方法,不行


这个时候我将脚本还原,将流程名那里做了关联
web_reg_save_param("date",
"LB=value=\"HDYK",
"RB="" onChange=",
"NotFound=EMPTY",
LAST);

结果仍然是第2个节点分公司经理登陆之后,走到相同的地方
web_link("HDYK{date}",
"Text=HDYK{date}",
"Snapshot=t71.inf",
EXTRARES,
"Url=/vjs/src/widget/TabContainer.js", "Referer=http://192.168.2.51:8082/vworkflow/workflow/workflow.jsp?workflowid={workflowid}", ENDITEM,
提示说找不到“HDYK”,很显然,前面的关联在这里又没起作用


这是咋回事呢?弄了快一天了,我都快疯了

脚本送上,两个,两种方法,几乎同样的问题:

[ 本帖最后由 soerd 于 2008-6-12 20:15 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-6-13 15:26:48 | 只看该作者
问题已经解决:
原因是第一个用户注销,导致第一个用户获取到的关联不能在第2个用户使用

在第一次获取到workflowid关联那部分脚本之后,立即加上

lr_save_string(lr_eval_string("{workflowid}"),"wf2");      令获取到的关联马上保存

保存到一个变量中,后面再调用

从第2个用户开始,{workflowid}全部换成{wf2}

效果如下,
中间脚本省略:


web_reg_save_param("workflowid",
"LB=/vworkflow/workflow/workflow.jsp?workflowid=",
"RB=\r",
"NotFound=EMPTY",
LAST);

web_submit_data("com.velcro.workflow.workflow.servlet.WorkflowAction",
                .......LAST);

lr_save_string(lr_eval_string("{workflowid}"),"wf2");
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-6-13 15:41:53 | 只看该作者
恩~  真好~~   恭喜~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-2-14 17:46:06 | 只看该作者
请问这个oa是什么oa啊?我也想研究研究
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2011-2-14 22:07:18 | 只看该作者
    解决了就好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2011-2-16 14:24:43 | 只看该作者
    “原因是第一个用户注销,导致第一个用户获取到的关联不能在第2个用户使用”这句话没看懂,
    业务的逻辑大致明白了,
    但是脚本的逻辑是怎样的呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-2-16 15:19:22 | 只看该作者
    web工作流一般业务逻辑就是,A用户(申请人)发起一个文,后台就会生成一个公文的id(就是上面的workflowID),审批人在进行审批的时候,系统就会根据这个ID找到这个文,才能对这个文进行后续操作,以此类推,直到处理结束,所以此处关联获取到的参数应该就是所谓的公文id;
    另外,那个提交流程后,系统自动加上的那串数字,应该就是所谓的流水号之类的东西
    不知我理解的对不对?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 13:03 , Processed in 0.089423 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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