51Testing软件测试论坛

标题: 对象仓库属性使用正则表达 [打印本页]

作者: lingxin5013    时间: 2008-7-2 09:53
标题: 对象仓库属性使用正则表达
各位高手: 
   我在对一个按钮进行click的时候,由于对象仓库除了TEXT以外其它的属性如window id ,hwnd在下一次启动程序得时候值就会改变,现在我想加如一个hwnd属性到对象仓库 如该属性的值为0-9之间的6位数字,我在对象仓库如何表达使用正则表达.在线等待 非常感谢.
我是这么写的但是没用 "\d{6}\"
在线等~~
作者: iov_cp    时间: 2008-7-2 11:15
标题: 就是说text经常变哦!!没有其他唯一能确认的东西?
如果没有能唯一确认的属性,那就不能识别到button.无用/常变的属性不要放对象库中!!!
作者: 小孩    时间: 2008-7-2 13:38
对象识别 有时候未必要用正则表达式的!
可以使用其它属性来作为识别标示!
作者: qq102568183    时间: 2008-7-4 23:28
双引号也要吗?
为了逐字表达,必须在"^.$()¦*+?{\"这些字符前加上转移字符'\'。请注意在方括号中,不需要转义字符。

\d{6} 不行吗?

[ 本帖最后由 qq102568183 于 2008-7-4 23:44 编辑 ]
作者: zte_boy    时间: 2008-7-5 15:43
建议LZ先去研究下正则表达式的资料
作者: peterz    时间: 2008-7-5 21:53
最好能找到唯一的属性,还有你是每次都没用,还是时好时坏
作者: 夜来烧    时间: 2008-7-7 17:01
我也曾经尝试过,但是始终不奏效,所以我觉得对象库里对象属性下面哪个“regular expression”选项基本是多余,这个问题可以自己写代码实现的。
作者: lingxin5013    时间: 2008-7-8 08:45
非常感谢!
作者: zzfhncn    时间: 2008-7-9 23:44
标题: 回复 7# 的帖子
请问你是怎样写代码实现的?能否贴出代码给我学习下,谢谢!
作者: zzfhncn    时间: 2008-7-9 23:52
对于公司的项目,开发使用的对象可能会有一些大致相同的属性,比如一个输入用户名WebEdit,name属性都会有txtUsername字符串,设想用正则表达式去匹配其他字符,例如: ^txtUsername  或者 txtUsername$   (勾选了regular expression选项)
但是尝试了几次都失败了,qtp无法识别出对象。
请问这是否可行?
作者: zzfhncn    时间: 2008-7-9 23:54
如果可行,有什么样的解决方案? 渴求!
作者: lingxin5013    时间: 2008-7-10 08:59
不好意思啊 我现在也没有解决方法 对象使用正则表达不能够实现 !
作者: zzfhncn    时间: 2008-7-10 10:14
原帖由 lingxin5013 于 2008-7-10 08:59 发表
不好意思啊 我现在也没有解决方法 对象使用正则表达不能够实现 !


属性里勾选了regular expression选项,不是可以用正则表达式么?
作者: lingxin5013    时间: 2008-7-10 10:33
是的 我选上后 自己写表达试 但是没有用 你自己可以实验下 有什么重大发现通知我下 谢谢 能够告诉我下 非常感谢
作者: zzfhncn    时间: 2008-7-22 20:51
标题: 回复 14# 的帖子
回楼上的,在对象库中找到识别对象唯一属性,再使用正则表达式,比如html id的值txtUsername|txtPCUsername   貌似可以成功识别txtUsername和txtPCUsername 对象

使用Username$正则表达式又不行,不知道是不是正则表达式写的不对。

[ 本帖最后由 zzfhncn 于 2008-7-22 20:56 编辑 ]
作者: lingxin5013    时间: 2008-7-23 09:08
你都已经找到唯一属性了 除非是变化的例外 你用正则有什么意义??
作者: zzfhncn    时间: 2008-7-23 09:43
原帖由 lingxin5013 于 2008-7-23 09:08 发表
你都已经找到唯一属性了 除非是变化的例外 你用正则有什么意义??


目的是这样的:用户注册时有N项需要一一验证;用户注册成功,登录系统后对自我信息进行维护,同样也有N项,这N项与注册的时候一样,但是属性值不一样,比如注册时用户名框是txtUsername,而信息维护时用户名框是txtPCUsername,所以想写一个代码对2块的功能进行测试,即使以后软件有改动,只需要改这一处代码就可以兼容2块功能的测试。

不知道有其他方法实现这样的么?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2