higkoo 发表于 2008-2-22 15:21:09

QTP WebElement  Exist 功能的问题

这两天写脚本,出现了一些非常郁闷的问题,譬如:
http://bbs.51testing.com/thread-106282-1-1.html  所述。

今天又发现了一个问题:
WebElement 的Exist,在单元格内容较长时查找失败,如下图示意:

higkoo 发表于 2008-2-22 15:34:12

正在查……

发现不是长度问题,原因尚待查中。

higkoo 发表于 2008-2-22 15:47:38

问题解决

起初是这样:
myFrame.WebElement("outertext:=" & myText & "+" & m-1,"index:=0").exist(1)
把  myText & "+" & m-1 定义为一个变量 a , a = myText & "+" & m-1就可以了

函数里变量太多,习惯尽可能少的定义变量。

higkoo 发表于 2008-2-22 17:13:31

验证发现是 “+” 导致

msgbox Browser("name:=测试程序").Page("title:=测试程序").WebTable("index:=1").WebElement("outertext:=分类5-3-1.2").exist(1)

打开QTP,打开测试程序页面;在QTPAction中拷入以上代码;运行 结果为 True。
不关闭测试程序页面。

编辑 测试程序.html 源码,将“分类5-3-1.2”修改为“分类5-3-1+2”;代码也相应修改:
WebElement("outertext:=分类5-3-1+2").exist(1)
刷新测试程序页面;运行结果为 False !

反之:
编辑 测试程序.html 源码,将“分类5-3-1+2”修改为“分类5-3-1.2”;代码也相应修改:
WebElement("outertext:=分类5-3-1.2").exist(1)
刷新测试程序页面;运行结果为 True !


有兴趣的朋友可以试试,听下你的看法。

hsjzfling 发表于 2008-2-22 17:42:42

很正常啊~~+属于正则表达式的特殊字符~~
A plus sign (+) instructs QuickTest to match one or more occurrences of the preceding character.
因此用WebElement("outertext:=分类5-3-1\+2").exist(1)应该也能返回True~

higkoo 发表于 2008-2-23 09:46:16

回复 5# hsjzfling  的帖子

原来是这样啊

  难怪难怪    还浪费了N长时间去查这个问题  善在善在……

higkoo 发表于 2008-2-23 09:47:59

回复 5# hsjzfling  的帖子

但是即使是正则表达式的特殊字符,但我是用的字符串呀,没有用正则表达式啊

字符串里都不能够含有这些符号吗?

centurystone 发表于 2008-8-4 09:44:52

我也感觉是QTP的BUG,。。
页: [1]
查看完整版本: QTP WebElement  Exist 功能的问题