51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3806|回复: 14
打印 上一主题 下一主题

[求助] 描述性编程的问题??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-10 14:43:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有点奇怪这么一个问题,我也试着想写一些描述性编程的语句
可是我每次找属性的时候都不知道怎么确定我所指定的属性是唯一性的
用spy看的话会找到一些属性,感觉是通用的属性,比如
Dialog("Regexpwndtitle:=Login").WinEdit("Attached text:=Agent Name:").Set "Holly"
Dialog("Regexpwndtitle:=Login").WinEdit("Attached text:=Password:").Set “Mercury”
Dialog("Regexpwndtitle:=Login").WinButton("Class Name:=WinButton", "text:=Cancel").Click
其中的Attached text,Regexpwndtitle换成别的如text ,title也没有问题的,反正是五花八门的,不知道是怎么给这些属性定义的属性名的??

[ 本帖最后由 xiasan2004 于 2007-12-10 17:35 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-12-10 15:16:34 | 只看该作者
用spy就可以看到一个控件所得到的所有属性名。
而默认情况下是根据object identification里面定义的一些属性去辨别一个控件的。
对于描述性编程是根据你提供的属性去辨别的,到底要加多少个属性在一个对象里面,标准是要能唯一地辨别他就行。

不知道这样说对不对?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-10 15:31:59 | 只看该作者

回复 1# 的帖子

请注意属性名称的大小写
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-12-10 17:35:57 | 只看该作者
你说的这个问题是回答了描述性编程所应遵循的标准,是如何做的问题。关键我不知道如何去唯一确定这个是唯一,因为用spy去看的时候,一些值的定义是缺省的如上图中所看到的一些属性,能看出什么名堂吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-12-10 18:02:49 | 只看该作者
个人觉得这里的“唯一”应该是相对的。QTP是通过控件的属性来确定这一控件的。如果是同一类的控件,那么他们的所拥有的属性就是相同的。可以通过例如“ID”,这种在编程的时候必须是“唯一”的属性的来判断;但是,由于编程规范的问题,并不能指望诸如“ID”的属性一定是被定义的。这时候,就只能依靠其他的多个属性来确保这个“唯一”。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-10 20:49:19 | 只看该作者
程序界面上都有哪些控件呢!
如果只有一个按钮,那么用一个普通的属性就可以唯一的确定。
有两个的话,这两个总不能是一个名字。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-12-11 09:54:52 | 只看该作者
如果你已经判断所要描述性编程的对象的类别,如楼主当中的winbutton,那class name这个属性就是多余的啦,我学得用spy工具查看的工具未必全部都能够用来描述对象,qtp运行的时候好像有一些是不会识别的.可以看看qtp对象库中捕捉对象主要用了那些属性.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-12-11 11:12:13 | 只看该作者

回复 7# 的帖子

你说的正是我想要说的,我基本是通过对象库中qtp录制的属性来看自己使用什么属性的
单用spy去看过,我还是不知道去用那个属性,感觉spy查出来的太多太杂,感觉这个使用属性要靠经验去做的,又找不着好一点的例子去看看,具体是怎么去做的,,茫然啊 !!!!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-12-11 12:14:17 | 只看该作者
Dialog("Regexpwndtitle:=Login").WinEdit("Attached text:=Password:").Set “Mercury”
这句中将“Mercury”改为"Mercury"即可

[ 本帖最后由 hsjzfling 于 2007-12-11 12:19 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-12-11 12:24:12 | 只看该作者
哦,你看的仔细啊,我原来改过这个,放到qtp上一眼就看得见,这次只是复制一下原来那个代码,没有改变,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-12-11 12:25:15 | 只看该作者
原帖由 hsjzfling 于 2007-12-10 15:31 发表
请注意属性名称的大小写


好久不用描述性编程,记忆都出差错了~~
更正下,属性名称大小写没啥关系~~~
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-12-11 12:30:02 | 只看该作者

回复 8# 的帖子

使用什么属性其实关系不大,只要能将对象唯一识别出来就行了,个人习惯:如果能用一个属性唯一识别,那就只使用一个属性;优先使用强制属性,最后考虑index属性(遍历的时候除外)
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2007-12-11 22:22:27 | 只看该作者
    采用描述性编程,这个确实是需要有一定的经验地。建议多去看QTP的帮助和别人写的代码。在这个论坛上,描述性编程的代码也不少呀
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2007-12-11 22:23:19 | 只看该作者
    当然,也需要有一定的理论指导,描述性编程的语法、格式等你也要知道呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-12-13 17:20:49 | 只看该作者
    个人感觉还可以和开发配合,开发用到的控件一般有一个唯一识别码,这个详细的design文档里面应该有.各个程序和系统的
    习惯不一样.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-16 11:58 , Processed in 0.083229 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表