描述性编程中属性值有特殊字符时需转义后描述

上一篇 / 下一篇  2013-03-29 17:32:14 / 个人分类:QTP自动化笔记

    QTP中使用描述性编程的时候,我们会遇到一些属性值带有特殊字符,比如有个Brower对象的name属性的属性值为 A|B,我们想通过用描述性编程的方式获取browser对象的运行时name属性值,如果我们在qtp代码中写成这样Browser("name:=A|B").GetROProperty("name"),运行时会导致找到不到对象.这是为什么呢?
    原因是使用描述性编程时,QTP会自动的将描述的属性值按照正则表达式的方式进行匹配处理,由于"|"在正则表达式中为特殊字符,表示或的意思,按照以上写法,只有当name的属性值为A或者B的时候才能匹配成功,但是name的实际值为A|B,所以会匹配Browser对象失败.
    面对这种在特殊字符的情况,我们描述该属性值的时候,需要将特殊字符进行转移,转义的方式为\加上需要转义的特字符,比如A|B,可以写成 A\|B,所以我们在描述性编程的时候可以将以上的属性值描述为: "name:=A\|B",代码为改为如下代码即可:
   Browser("name:=A\|B").GetROProperty("name")

以下是正则表达式中的一些特使字符,选择匹配字符本身时需要进行转移

特殊字符             转义方法
---------------------------------------------------------
$                   要匹配 $ 本身,请使用 \$
( )                 要匹配 ( 和 ) 本身,请使用 \( 和 \)
*                   要匹配 * 本身,请使用 \*
+                   要匹配 + 本身,请使用 \+
.                   要匹配 . 本身,请使用 \.
[ ]                 要匹配 [ 本身,请使用 \[
?                   要匹配 ? 本身,请使用 \?
\                   要匹配 \ 本身,请使用 \\
^                   要匹配 ^ 本身,请使用 \^
{ }                 要匹配 { 和 } 本身,请使用 \{ 和 \}
|                   要匹配 | 本身,请使用 \|

TAG: 描述性编程 特殊字符 QTP qtp 转义

 

评分:0

我来说两句

Open Toolbar