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

时间:2016-03-27 15:14:54

标签: javascript testcomplete

我有 ODT.Class 操作代码

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

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

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

波纹管代码适用于系统SetText()方法

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

我需要以某种方式在我的SetValue(文本)方法中获取对象引用以便进行下面的操作

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

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

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

1 个答案:

答案 0 :(得分:1)

最简单的方法是在SetValue方法中使对象正确:

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

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

BTW,据我所知,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");
}