2013-04-02 43 views
2

在QTP中,它表示actions datatable是本地的,只有特定动作中的代码才可以访问其中的值(例如Action1数据表中的值只能由Action1脚本访问),那就是为什么我们必须使用全局表格。从动作中检索数据Datatable - QTP

但是我碰到下面的功能,会采取不同的行动表中的数据,就好像如果措施1数据表和代码数据在行动2

谁能calrify我,如果这是可行的,如果是为什么它概括了动作数据表中的值是本地的,只有全局数据表中的值可以从任何地方访问?

DataTable.Getsheet("Action1").GetParameter(A).Value 

回答

0

看起来你可以做到这一点,但是,你为什么也想要?制作一个脚本并从中调用您的操作会不会更容易?这样,你可以引用你想要使用的动作数据表的哪一行。

例如..

RunAction “措施1 [措施1]”, “1-1”

RunAction “措施2 [措施2]”, “1-1”

这似乎相当更清洁并且不会让任何其他尝试处理测试脚本的人感到困惑。

1

默认情况下,本地和全局数据表与当前的动作有关系。您可以在行动的第一行发出这些命令,你会得到的值:

  • DataTable.GlobalSheet.Name
  • DataTable.LocalSheet.Name

然而,HP不阻止您访问任何您想要的工作表:仅存在一个ImportSheet函数强调了如果2个表不够用的情况下可以使用外部表。使用其他操作的工作表与从导入的Excel文件中使用工作表没有区别。

enter image description here

你有一个点,它是有意义的访问本地数据表仅限制于拥有行动,就像局部变量是如何仅限于定义它们的功能。但是请记住,Action的DataSheet是一个完全独立的对象。它唯一的不可撤销的关系是与它的父级excel文件。这可能是惠普没有提出这种限制的原因。

0

Datatable(“columnname”,“tabname”) 可以从任何软件访问。

示例: strUser的数据表=( “用户”, “全局”) 的Equals strUser的数据表=( “用户”,dtGlobalSheet)