Vbscript 动态重命名共享或对象名称

Vbscript 动态重命名共享或对象名称,vbscript,qtp,hp-uft,Vbscript,Qtp,Hp Uft,根据我们遵循的命名约定,我们需要将每个对象重命名为其标准名称。 其中一个约定是用“\u1”替换空格 例如:对象名称->对象名称 是否有任何方法可以使用代码行动态执行该操作?您可以将存储库导出到XML。然后,使用XML dom对象,您可以导航到每个节点。每个节点都有一个名称属性。然后,您可以检查是否有空格(如果有)。您可以更改它的逻辑名称。这将更改对象存储库名称 但是,您需要在QTPscript中进行类似的修改才能得到反映。将OR导出到xml文件并使用以下代码行。 并使用生成的xml导入或返回QT

根据我们遵循的命名约定,我们需要将每个对象重命名为其标准名称。 其中一个约定是用“\u1”替换空格

例如:对象名称->对象名称


是否有任何方法可以使用代码行动态执行该操作?

您可以将存储库导出到XML。然后,使用XML dom对象,您可以导航到每个节点。每个节点都有一个名称属性。然后,您可以检查是否有空格(如果有)。您可以更改它的逻辑名称。这将更改对象存储库名称


但是,您需要在QTPscript中进行类似的修改才能得到反映。

将OR导出到xml文件并使用以下代码行。 并使用生成的xml导入或返回QTP。 这是特定于SAP GUI的


变量/对象名称不能以空格开头。你能从你的代码中显示一个例子吗?对不起,空格不是在开头。我将在名称的不同部分之间,如“PO编号”。“采购订单编号”需要更改为“采购订单编号”
Function  ModifyORXML(inputFilepath,outputFilepath)
Set xmlDoc =  CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = "False"
xmlDoc.Load(inputFilepath)
Set xmlNodeList = xmlDoc.getElementsByTagName("qtpRep:Object")
num = xmlNodeList.length

For each x in xmlNodeList
    AttName=x.getattribute("Name")
    If x.getattribute("Class")="SAPGuiButton" Then
        tmp=Split(AttName," ",-1,1)
        AttName=tmp(0)
    End If
    AttName=Replace(AttName,Chr(34)," ")
    AttName=Replace(AttName,")"," ")
    AttName=Trim(AttName)           
    oldAttName=AttName
    AttName=Replace(AttName,":"," ")                
    AttName=Trim(AttName)
    AttName=Replace(AttName," ","_")    
    AttName=Replace(AttName," __","_",1,-1,1)   
    x.Attributes.getNamedItem("Name").Text = AttName
Next    
xmlDoc.Save outputFilepath  
End Function