insert existing action 的问题
RunAction "启动IE [启动IE]", oneIteration '启动IE,打开主页面RunAction "Login [登录]", oneIteration '以admin用户登陆系统
RunAction "Menu [菜单]", oneIteration,"业务设置","组织结构","组织" '进入“业务设置----组织结构-----组织 ”页面
For row=1 to DataTable.GetSheet("新增部门").GetRowCount
RunAction "功能按钮", oneIteration, "新增", "部门" '数据驱动增加部门
RunAction "新增部门", oneIteration,row,state
Select Case state
Case "success_one": RunAction "验证新增成功", oneIteration
Case "success_two": RunAction "验证新增2级部门成功", oneIteration
End Select
Next
以上脚本为新增一个部门的简单脚本,现在问题是,我下面要做部门合并的业务,就需要创建一些前置数据,所以我在部门合并用例中insert existing 新增部门的整个ACTION,但这时就出问题了。在For row=1 to DataTable.GetSheet("新增部门").GetRowCount
由于insert existing 后,ecexl的sheet就是不是“新增部门”了,而是"新增部门[新增部门]",我直接去ecexl修改了sheet的名称,这步就可以通过,但后面的错误,那是一堆一堆了啊。麻烦会的人帮忙解决下 你需要的是把原来的
RunAction "新增部门"
改成
RunAction "新增部门 [新增部门]"
因为QTP是用Action名+[脚本名]来识别外部调用的Action的
试想:假如没有这种机制,不同脚本中相同的Action名就无法正常调用了 insert existing action首先不能修改里面的内容吧,,而且我的脚本在for循环的地方就出错了。找不到sheet,改下面也没有用啊 被你搞晕了
你贴的代码是调用的脚本,还是被调用的脚本啊? 不好意思,以上脚本为被调用的脚本,这个脚本是新增的功能,别的功能点需要这个脚本来增加数据所以才调用它的。 你可以换种方式
你把生成数据存放到外部文件
这样就没有这么多后顾之忧了! 斑竹,除了用外部文件,在datatable中有方法解决没有啊,急啊。 看来用合成的设计方式对QTP不起作用啊 :L
等待高人来解了
呵呵 还没有遇见过! 那就不说技术上的问题了,说业务的吧,我现在已经实现了一个新增功能,后面很多业务功能都需要新增的特定的数据来做测试,就比如以上的例子:
新增功能功能中实现了2个新增的用例,增加部门和增加子部门;
现在我要做合并部门的功能点了,所以想调用原来的脚本,只是把datatable里面的数据改下,初始多种部门的组合情况,再来实现合并的多种用例,
如果要实现这样的效果,该怎么组织脚本会比较好。 原帖由 lijian422202 于 2008-9-19 15:36 发表 http://bbs.51testing.com/images/common/back.gif
斑竹,除了用外部文件,在datatable中有方法解决没有啊,急啊。 看来用合成的设计方式对QTP不起作用啊
可以定义一个excel,importsheet进来,是运行时生效的
也可以用DataTable.Value将你想用的的值一条条直接写进去,也是运行时生效的 谢谢RCPP,kevin_swpi
页:
[1]