51Testing软件测试论坛

标题: 如何在运行过程中向数据网格添加数据 [打印本页]

作者: higkoo    时间: 2007-6-16 11:26
标题: 如何在运行过程中向数据网格添加数据
如何在运行过程中向数据网格添加数据?
例如:
定义两个变量,运行时录入学员姓名:
FirstName = "Jim"
LastName = "Green"
最后在页面上去检查学员姓名是否正确显示。
Page("Result").check checkpoint("FullName")
如果是单独检查Jim或Green就很容易了,现在FullName = FirstName & LastName
我想把FullName输出到DataTable里,然后Checkpoint直接读DataTable里的值。

FirstName和LastName是运行前可修改的,
怎么把FullName输出的DataTable里呢?

作者: higkoo    时间: 2007-6-16 11:44
我使用帮助里的方法
DataTable.GetSheet ("WebTours").AddParameter "FullName", MyFirstName & " "  & LastName
运行到检查点时QTP就停止响应了
作者: winfood    时间: 2007-6-16 13:50
我也遇到过类似问题,我的解决办法是:
在设计脚本的时候就在DataTable里面创建好FullName这个字段;
设计CheckPoint的时候把检查文本的期望值(Expected Result)部分指向这个字段;
在脚本中位于CheckPoint之前添加语句:DataTable("WebTours", dtLocalSheet).Value = MyFirstName & " "  & LastName
这样一来在运行到CheckPoint之前,FullName字段已经填入了某人的全名。执行CheckPoint就可以依据这个字段内容进行检查。

不过QTP停止响应的事情没有遇到过,是不是操作系统出了问题?
作者: higkoo    时间: 2007-6-16 14:59
标题: 可能是操作系统或QTP的问题
原帖由 winfood 于 2007-6-16 13:50 发表
我也遇到过类似问题,我的解决办法是:
在设计脚本的时候就在DataTable里面创建好FullName这个字段;
设计CheckPoint的时候把检查文本的期望值(Expected Result)部分指向这个字段;
在脚本中位于CheckPoint之 ...


参照楼上仁兄的方法,应该是可行的,帮助里也是这么说的:
示例 以下示例使用 Value 属性在运行时数据表的"ActionA"工作表中 Destination 参数(列)的当前行中设置值。
DataTable.Value ("Destination", "ActionA")="New York"
以下示例使用 Value 属性在第三个工作表的第二个参数(列)的当前行中设置值。
DataTable.Value (2,3)="New York"
注意: 您可以在上面的语句中省略单词 Value,因为 Value 是 DataTable 对象的默认属性。
以下示例使用默认属性在当前(活动)本地表的 Destination 参数(列)的当前行中设置值。
DataTable("Destination", dtlocalSheet)="New York"


问题到此可以说是解决了,看来又要重装系统了 sdlkfj7


   QTP录制过程,切换输入法,也会导致IE停止响应的,这个问题经常可以遇到的。

      我们只能求渔而不得鱼了…… sdlkfj5
作者: Raymondzfy    时间: 2007-6-16 20:08
你可以在输入了这两个变量的值以后给这两个变量创建输出值到公共的datatable中,
然后在检查点中使用公共表的数据检查啊!!!
作者: higkoo    时间: 2007-6-17 09:24
标题: 问题已解决
不是脚本的问题,设置QTP进行快速回放就可以了……

   应该属于QTP的缺陷




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