在QTP中,可以说数据表操作是本地的,其中的值只能访问特定操作中的代码(例如Action1数据表中的值只能由Action1脚本访问),这就是为什么我们必须使用全局表
但是我遇到了以下函数,该函数将从不同的动作表中获取数据,例如Action1数据表中的数据和动作2中的代码。
如果这是可行的话,任何人都可以对我进行校验吗?如果是的话,为什么会推断Action数据表中的值是本地的,只有全局数据表中的值可以从任何地方访问?
DataTable.Getsheet("Action1").GetParameter(A).Value
答案 0 :(得分:1)
默认情况下,本地和全球数据表与当前的操作有关系。您可以在操作的第一行发出这些命令,然后您将获得值:
但是,HP不会阻止您访问所需的任何工作表:仅仅存在 ImportSheet 功能强调了如果2个表不够,您可以使用外部表。使用其他操作表与使用导入的Excel文件中的工作表没有什么不同。
您有一个观点,将本地数据表的访问权限仅限于拥有操作是有意义的,就像局部变量仅限于定义它们的函数一样。但请记住,Action的DataSheet是一个完全独立的对象。它唯一不可改变的关系是它的父excel文件。这可能是惠普没有提出这样限制的原因。
答案 1 :(得分:0)
看起来你可以这样做,但是,为什么你也想要呢?制作一个脚本并从中调用您的操作会不容易?这样,您可以引用您想要使用的动作数据表的哪一行。
例如......
RunAction" Action1 [Action1]"," 1-1"
RunAction" Action2 [Action2]"," 1-1"
对于尝试使用测试脚本的其他人来说,这似乎更清晰,更少混淆。
答案 2 :(得分:0)
数据表( “COLUMNNAME”, “TABNAME”) 可以从任何软件访问。
实施例: Struser = datatable(“user”,“Global”) 等于 Struser = datatable(“user”,dtGlobalSheet)