51Testing软件测试论坛

标题: 不能识别之前录制过程中动态产生的交易编号,该怎么对脚本进行修改?(具体见内容!) [打印本页]

作者: Sunny瞳瞳    时间: 2007-9-3 18:14
标题: 不能识别之前录制过程中动态产生的交易编号,该怎么对脚本进行修改?(具体见内容!)
某系统的流程为:提交申请--申请审批通过(此时会自动生成1个合同编号)---提交合同---审批合同

在录制这个脚本时,假设生成的合同编号为001.当合同提交审批后(该数据在查询页面不可见)
运行该脚本时,运行脚本生成的合同编号变为了007(假设其他人也在做业务,交易编号不是简单的+1),此时当脚本执行到查询页面里面找不到之前的001,故不会执行我们期望中的操作(对007这条数据进行提交操作),此时,我们该如何修改脚本,能让脚本在执行时,不受合同编号的限制,而自动运行.sdlkfj9

还请大家指点1.2 .感激不尽啊~~~`sdlkfj9

[ 本帖最后由 Sunny瞳瞳 于 2007-9-3 18:17 编辑 ]
作者: hsjzfling    时间: 2007-9-3 20:21
用DataBase Output Value输出数据库中的相关信息,将其输出到一个自定义环境变量或者Datatable中,就可以动态获得所需信息。具体操作可查阅帮助文档,楼主尝试下吧~
作者: pierre0505    时间: 2007-9-3 22:16
关注
作者: Sunny瞳瞳    时间: 2007-9-3 22:41
原帖由 hsjzfling 于 2007-9-3 20:21 发表
用DataBase Output Value输出数据库中的相关信息,将其输出到一个自定义环境变量或者Datatable中,就可以动态获得所需信息。具体操作可查阅帮助文档,楼主尝试下吧~



谢谢啦。。现在在家没测试站点。。。明天到公司了在研究下。。。十分感谢。。。sdlkfj3
作者: jackymail    时间: 2007-9-3 22:45
不明白你的意思,qtp无非是利用一个数据源连接到数据表,在数据表中作查询操作,查询怎么写?select 刚才提交的那个 from table?

我觉得不可能是001或者007作为唯一识别属性,名称,生成时间之类的很多东西都可以作为操作对象的识别属性,换个属性就行了。

原帖由 hsjzfling 于 2007-9-3 20:21 发表
用DataBase Output Value输出数据库中的相关信息,将其输出到一个自定义环境变量或者Datatable中,就可以动态获得所需信息。具体操作可查阅帮助文档,楼主尝试下吧~

作者: hsjzfling    时间: 2007-9-3 23:09
标题: 回复 #5 jackymail 的帖子
在提交合同前肯定要输入一些合同的信息,比如姓名,内容等,而且这些都是要存入数据库的,这些信息应该足够写查询语句了吧~
偶觉得楼主可能是需要得到合同的编号,因此还是得访问数据库~否则就如5楼所说换其它属性识别方便点

不管怎样还是先等楼主明天得到结果吧~
作者: Sunny瞳瞳    时间: 2007-9-4 15:37
问题已经解决了..在北京的同事和大家的帮助下:

例:
先建一个工程1 建一个action1,录申请的脚本,并且设置action1的传出参数 contractNO,在脚本里要有得到这个参数的脚本。然后再建一个工程,建一个action2,录合同部分的脚本,该action设置一个传入参数 contractNO,脚本中对合同号操作的地方都写成parameter("contrctNO"),比如link  ,就写成 Link("text:="&Parameter("contractNO"))

然后把工程1和工程2中的action的actionpropery中勾选  reusable action,然后再建一个工程,新建一个action,引用前两个工程的action,方法:点击菜单 insert--call to existing action ,成功后系统会生成如下脚本
RunAction "Action1", oneIteration, contractNO
RunAction "Action2", oneIteration, contractNO
这2句话里面的contractNO是需要你自己加的.

谢谢大家了哈....

[ 本帖最后由 Sunny瞳瞳 于 2007-9-4 15:42 编辑 ]




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