【问题标题】:Can I use a variable string to call a method?我可以使用变量字符串来调用方法吗?
【发布时间】:2018-06-17 19:05:08
【问题描述】:

这是我想要做的:

我有 25 个查询要运行,它们位于一个单独的文件中。他们都以他们返回的东西命名。所以如果我想遍历它们,我可以只使用一个变量来调用我想要返回的每个查询吗?

    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 部分每五次迭代更改一次,第 3 部分每次迭代更改一次。我正在尝试编写一个函数来执行这部分,以便它适用于所有 25 个查询。

有没有办法格式化 queryName 字符串以从 QueryFile 调用查询?

谢谢,

【问题讨论】:

    标签: function variables methods jscript testcomplete


    【解决方案1】:

    我不确定在您的情况下 QueryFile 是什么。

    一般来说,使用 JScript/JavaScript 在 TestComplete 中有两种方法可以做到这一点。

    1. 如果将单独的文件作为脚本单元添加到您的项目中,您可以使用Runner.CallMethod 例程:

      var _Q = "MyFile";
      var fName = "AmountDueLessThan";
      Runner.CallMethod(_Q + "." + fName);
      
    2. 使用 eval 函数。

      var fName = "AmountDueLessThan";
      eval(fName + "()");
      

    【讨论】:

    • eval 函数完美运行!非常感谢!
    • @Dan,太好了!因此,您可以接受我的回答作为解决方案。 ;)
    猜你喜欢
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多