如何在testcomplete + js中获取对象引用?

How to get object reference in testcomplete + js?

我有 ODT.Class 代码操作

function SetValue(text){
HowToGetObject? .Keys(text + "[Enter]")
}

ODT.Data.CustomerName 元素它具有 Actions class 类型,所以我可以使用 SetValue 方法 它还具有方法 GetObject,允许我获取对象:

function GetObject(){
return NameMapping.Sys.Orders.OrderForm.Group.Customer
}

下面的代码适用于系统 SetText() 方法

ODT.Data.CustomerNameTextField.GetObject().SetText("Text")

我需要以某种方式在我的 SetValue(text) 方法中获取对象引用才能执行以下操作

ODT.Data.CustomerNameTextField.GetObject().SetValue("Text")

我对系统 SetText(string) 方法感兴趣?它是如何工作的?

很乐意提供任何帮助。 提前致谢,丹尼斯

最简单的方法是在 SetValue 方法中获取对象:

function SetValue(text){
  This.GetObject().Keys(text + "[Enter]")
}

标准 SetText 方法可应用于具有文本值的编辑器,并以编程方式将文本放入这些编辑器。

顺便说一句,据我所知,ODT 功能很快就会从 TestComplete 中完全删除。有关详细信息,请参阅 Object-Driven Testing。下面是一个演示如何在没有 ODT 功能的情况下使用 OOP 方法的示例:

function customClass(newObjName)
{
  this.objName = newObjName; 
}

customClass.prototype.getObject = function()
{
  return eval(this.objName);
}

customClass.prototype.setValue = function(text)
{
  this.getObject().Keys(text + "[Enter]");
}

function Test()
{
  var obj = new customClass('Sys.Process("notepad").Window("Notepad").Window("Edit")');
  obj.setValue("Test");
}