我可以使用可变字符串来调用方法吗?
Can I use a variable string to call a method?
这是我正在尝试做的事情:
我有 25 个 运行 的查询在一个单独的文件中。它们都是根据 returning 的名称命名的。所以如果我想遍历它们,我可以只使用一个变量来调用我想要的每个查询 return?
var _Q = QueryFile;
var part1 = generalName; //Amount
var part2 = aqString.Replace(Object1.wSelectedItems, " ", ""); //Due
var part3 = aqString.Replace(Object2.wText, " ", ""); //LessThan
var allParts = part1+part2+part3; //AmountDueLessThan
var query = _Q.queryName(); //query = AmountDueLessThan()
Log.Message(query);
第 1 部分从不更改,第 2 部分每五次迭代更改一次,第三部分每次迭代更改一次。我正在尝试编写一个函数来执行此部分,以便它适用于所有 25 个查询。
有没有办法格式化 queryName 字符串以从 QueryFile 调用查询?
谢谢,
段
我不确定你的情况下 QueryFile 是什么。
通常,在 TestComplete 中有两种方法可以使用 JScript/JavaScript。
如果单独的文件作为脚本单元添加到您的项目中,您可以使用 Runner.CallMethod 例程:
var _Q = "MyFile";
var fName = "AmountDueLessThan";
Runner.CallMethod(_Q + "." + fName);
使用 eval 函数。
var fName = "AmountDueLessThan";
eval(fName + "()");
这是我正在尝试做的事情:
我有 25 个 运行 的查询在一个单独的文件中。它们都是根据 returning 的名称命名的。所以如果我想遍历它们,我可以只使用一个变量来调用我想要的每个查询 return?
var _Q = QueryFile;
var part1 = generalName; //Amount
var part2 = aqString.Replace(Object1.wSelectedItems, " ", ""); //Due
var part3 = aqString.Replace(Object2.wText, " ", ""); //LessThan
var allParts = part1+part2+part3; //AmountDueLessThan
var query = _Q.queryName(); //query = AmountDueLessThan()
Log.Message(query);
第 1 部分从不更改,第 2 部分每五次迭代更改一次,第三部分每次迭代更改一次。我正在尝试编写一个函数来执行此部分,以便它适用于所有 25 个查询。
有没有办法格式化 queryName 字符串以从 QueryFile 调用查询?
谢谢,
段
我不确定你的情况下 QueryFile 是什么。
通常,在 TestComplete 中有两种方法可以使用 JScript/JavaScript。
如果单独的文件作为脚本单元添加到您的项目中,您可以使用 Runner.CallMethod 例程:
var _Q = "MyFile"; var fName = "AmountDueLessThan"; Runner.CallMethod(_Q + "." + fName);
使用 eval 函数。
var fName = "AmountDueLessThan"; eval(fName + "()");