我有带代码的ODT.Class Action
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(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");
}