51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1615|回复: 7
打印 上一主题 下一主题

[原创] 下拉列表在有的时候识别不出来,谁知道怎么回事?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-18 15:34:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Browser("Package").Page("Drop_page").WebList("DropDownListPkgType").Select  "Executable"

就是这个下拉列表,除非运行设置成新打开一个网页,那样才能认出来DropDownListPkgType在哪儿,否则如果在某一个已经打开的网页上运行测试,它就会中止在这个步骤,说找不到对象。

这是一个包含6个item的普通下拉列表,它和同一页面得其他控键被录制到不同的page里面,估计是网页内有框架。

请问谁能帮忙?

全部代码。
Browser("LDSM").Page("Main").Frame("left").Link("Distribution").Click
Browser("LDSM").Page("Main").Frame("distributionPackagesTree").WebElement("My distribution packages").Click
Browser("LDSM").Page("Main").Frame("findfrm").WebElement("New").Click
Browser("Package").Page("Drop_page").WebList("DropDownListPkgType").Select  "Executable"
Browser("Package").Page("package_page").WebEdit("location").Set DataTable("P_loc", dtLocalSheet)
Browser("Package").Page("package_page").WebEdit("name").Set DataTable("P_name", dtLocalSheet)
Browser("Package").Page("package_page").WebEdit("desc").Set DataTable("P_loc", dtLocalSheet)
Browser("Package").Page("package_page").WebButton("Browse").Click
Browser("Package").Page("package_page").WebButton("Save").Click
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-18 16:46:34 | 只看该作者
用spy看看已打开的下拉列表是不是变掉了。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-5-18 17:29:50 | 只看该作者

变了,没变。。只能这么说

因为当初获取对象的时候,我把对象的名字都修改了。修改成容易记住的名字。

程序运行时用spy观察到的
Browser("Package").Page("Drop_page").WebList("DropDownListPkgType").Select  "Executable"

Weblist名字依然相同,是DropDownListPkgType,browser 和page都不同,因为毕竟我修改过,可是别语句的也一样修改过,别的就没问题。。
真不好意思我可能没说清楚,我觉得qtp得问题用文字是在描述不清楚。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-18 17:52:38 | 只看该作者
对象的名称改变并不会影响对对象的识别,关键是看identify这个对象的属性有没变,比如text,或者是class
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-5-18 18:00:47 | 只看该作者

谢谢

属性只用了name 和 html tag, 这两个都没有改变。
class改变了,原来是属于我自己命名的class类,运行时用spy获取的是软件默认的生成类名。
可是其余的部分也都是我自己命名的类。比如Browser("Package").Page("package_page").WebButton("Save").Click,但是这句话就能正常运行,即便当时用spy获取的类名不会是这个。

您能否简单告诉我一下,那些东西可以变,那些东西不可,描述一个对象的最关键的不可改变的东西是什么?多谢了,晚上回去我再看看手册。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-5-18 18:17:02 | 只看该作者
想想怎么才能模拟一个操作出来
1.要得到你所对应的object
- 通过object库里定义的对象及其属性去你测试的界面上找符合这个的惟一object。
- 具体通过哪些属性值及顺序去辨别,在oject identification里有定义
2.做操作
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-5-18 18:43:07 | 只看该作者
试试把你的这句Browser("Package").Page("Drop_page").WebList("DropDownListPkgType").Select  "Executable"
用描述性编程实现,改成Browser("name:=..").Page("title:=..").WebList("name:=..").select "Executable" (参数的值用spy看先!)
看看能不能达选择成功.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-5-20 22:02:04 | 只看该作者
x谢谢楼上的朋友们,我先继续学习。毕竟刚学了3天。
等我熟练一些,或许自然找到答案了。到时候再来回贴
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 00:59 , Processed in 0.083968 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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