QTP使用正则表达式动态匹配对象文本

时间:2010-07-22 20:53:10

标签: regex vbscript qtp

假设我们正在尝试匹配SSN,因此正则表达式为:d {9}。但是,如果在运行时,我希望将第三位数匹配到3?所以正则表达式是d {2} 3d {6}。

我知道在QTP中,您可以使用正则表达式来匹配对象存储库中对象的文本属性,但是如何在QTP代码中更改该正则表达式呢?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您可以使用SetTOProperty更改存储库中属性的值,这会更改当前运行的值,但不会更改下次运行的测试。它还会更改存储的测试对象中的值,而不是正在测试的应用程序中的相应控件中的值(要从应用程序使用GetROProperty获取当前值,则不存在SetROProperty)。

''# Change button "5" to point to "And"
Window("Calculator").WinButton("5").SetTOProperty "text", "[Aa]nd"
Window("Calculator").WinButton("5").Click

请注意,虽然您可以更改该值,但您无法更改它是否为正则表达式(上述情况仅在5的{​​{1}}属性已定义为使用正则表达式时才有效

或者,您可以使用descriptive programming