2015-07-28 33 views
-1

我想异步加载xml文件,但是当我在TestConfiguration()中调用 LoadXML(docname)并打印返回值时,它不会打印任何东西。在testcomplete中使用jscript异步加载xml

function TestConfiguration() 
{ 
    var strFilePath = "..\\CommonFiles\\TestConfig.xml"; 
    var retVal = LoadXML(strFilePath); 
    Log.Message(retVal); 
} 
function LoadXML(docname) 
    { 
    try { 
     xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    } 
    catch(e) { 
     Log.Message(e.message); 
    } 
    try { 
     xmlDoc.async=true; 
     xmlDoc.load(docname); 
     return(xmlDoc); 
    } 
    catch(e) { 
    Log.Message(e.message); 
    } 
    return(null); 
} 

回答

2

将XML Doc对象放到Log.Message方法中。这是一个对象,无法打印。您需要打印此对象的XML属性:

function TestConfiguration() 
{ 
    var strFilePath = "..\\CommonFiles\\TestConfig.xml"; 
    var retVal = LoadXML(strFilePath); 
    Log.Message(retVal.xml); 
} 
+0

感谢德米特里。这样可行。 – vinu

+0

如何在向调用者读取xml节点及其属性后返回成功或失败。任何可能有助于做到这一点的功能? – vinu

+0

要了解操作是否成功,可以检查其结果为null - (retVal.selectSingleNode(“kkk”)== null)。 BTT,如果您将我的答案标记为已接受,我将不胜感激。 –