2012-09-20 28 views
1

我的存储库中有几个对象不再与我的应用程序相匹配,因为我的应用程序中的一些标签已经改变了大小写。有没有[快速]使QTP的Object Repository不区分大小写的方法?

例如,曾经Workspace locations现在是Workspace Locations,首字母为L

我需要一种快速的方式来让我的对象在我的应用程序的旧版本和新版本(使用新的大写字母)中都能被识别。我发现通过将(?i)插入每个对象的附加文本属性(请参见屏幕截图)来缓慢区分大小写,但速度非常慢,尤其是当我有几个对象需要修改几十个和几十个测试时。

有没有一种快速的方法来使整个测试在匹配对象属性时不区分大小写?

Case-insensitivity the long way

回答

1

请记得先备份!

您可以通过Object Repository Manager将对象库导出为XML。您可以在XML中进行更改,我会建议将regularexpression参数<qtpRep:Value RegularExpression="0">更改为"1",其中<qtpRep:Property Name="title"。现在标题元素将被视为正则表达式,并且正则表达式在QTP中默认情况下不区分大小写。
注意:如果标题中的字符是特殊的正则表达式字符(如+,?,*,\等),则必须使用反斜杠将其转义。

准备就绪后,您可以导入已更改的对象存储库。

+0

通常情况下,这将是一个很好的方法,但正如你所说,我必须手动检查我的代码才能找到我需要转义的特殊正则表达式字符。所以这听起来不像是一条捷径。 – Eptin

+0

@Eptin,我了解您所处的情况,并且我没有一个易于使用的解决方案。你说你必须检查你的代码来手动转义正则表达式字符,但你也可以通过代码来实现这一点(通过用'\'替换'*^$ {}()。?+ \ |'在它的前面),但这恐怕不会让它变得更加复杂。 – AutomatedChaos

相关问题