我有 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(字符串)方法感兴趣?它是如何工作的?
很乐意得到任何帮助。 提前致谢,丹尼斯
答案 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");
}