动态重命名共享或对象名称
Dynamically Rename Shared OR object names
根据我们遵循的命名约定,我们需要将每个对象重命名为其标准名称。
一种这样的约定是将 space 替换为“_”
例如。对象名称 ->Object_name
有没有办法用代码行动态执行呢?
您可以做什么,将存储库导出到 XML。然后使用 XML dom 对象,您可以导航到每个 Node.Each 节点将具有名称属性。然后您可以检查是否存在 space 您可以更改它的逻辑名称。这将更改对象存储库名称。
但是你需要在你的 QTPscript 中做类似的改变之王才能得到反映。
将 OR 导出到 xml 文件并使用以下代码行。
并使用生成的 xml 将 OR 导入回 QTP。
这是 SAP GUI 特有的
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
根据我们遵循的命名约定,我们需要将每个对象重命名为其标准名称。 一种这样的约定是将 space 替换为“_”
例如。对象名称 ->Object_name
有没有办法用代码行动态执行呢?
您可以做什么,将存储库导出到 XML。然后使用 XML dom 对象,您可以导航到每个 Node.Each 节点将具有名称属性。然后您可以检查是否存在 space 您可以更改它的逻辑名称。这将更改对象存储库名称。
但是你需要在你的 QTPscript 中做类似的改变之王才能得到反映。
将 OR 导出到 xml 文件并使用以下代码行。 并使用生成的 xml 将 OR 导入回 QTP。 这是 SAP GUI 特有的
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