51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2822|回复: 10
打印 上一主题 下一主题

[原创] 请教一个描述性编程的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-12-20 19:07:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在我需要录自动化的网站上有一个图片按钮叫“myspinlets ”,是一个A标签,像这样的<a .......><img/></a>,它不存在关键字,所以不能录制。并且是一张动态的图片,鼠标放上去会变颜色,用虚拟对象也没办法解决。所以我常识用描述性编程,我写的VB像下面这样:
Set myspinlets = Description.Create()
myspinlets ("html id").Value = "page-hdr-nav-tab-2:"
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").Link("Sign In").Click
Browser("Spinlets Lab - spinletslab.com").Page("Sign In - spinletslab.com").WebEdit("userName").Set "test"
Browser("Spinlets Lab - spinletslab.com").Page("Sign In - spinletslab.com").WebEdit("password").SetSecure "494cbd0da4d6d3c7f8b031a7b35ae1c396ec27618499ab1d"
Browser("Spinlets Lab - spinletslab.com").Page("Sign In - spinletslab.com").Image("submit").Click 44,13
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("myspinlets ").Click
通过他的id来识别,并且它的属性是WebElement。  但是在运行到最后一行的时候还是会出错。所以我不知道这个问题出在哪里?可能我问的问题比较基础,但我昨天才开始学习QTP和VB编程,完全是个初学者。请各位高手帮帮忙。非常感谢!

[ 本帖最后由 shelley.xie 于 2008-12-20 19:11 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-12-22 16:08:37 | 只看该作者
通过咯!
原来如此!  一个符号的问题~
太感谢咯,谢谢大家咯
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-12-22 16:03:26 | 只看该作者
明显有问题,html id后面没有冒号,而你代码中有
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-12-22 15:59:58 | 只看该作者
谢谢大家的回答!
我按着“ctrl”然后用object spy 查看一下按钮变色后的“html id”的属性,id并没有变!!!
我把多余的空格也去掉了,还是不行

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-12-22 15:20:44 | 只看该作者
6楼的仁兄眼好尖,佩服佩服
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-12-22 15:09:50 | 只看该作者
“page-hdr-nav-tab-2”这个属性有可能是你那个会变色的图片按钮变色之前的属性,建议你按着“ctrl”然后用object spy 查看一下按钮变色后的“html id”的属性,可能和“page-hdr-nav-tab-2”不同的。。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-12-22 14:52:02 | 只看该作者

回复 5# 的帖子

看了一下你的代码:
1.你一开始的代码
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("myspinlets ").Click
错在myspinlets 是你一开始定义的一个Description对象,引用这个对象,不需要加双引号。应该改为:
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement(myspinlets).Click
当然楼上两位的方法也可以
2.你后来的代码

Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("html id:= page-hdr-nav-tab-2:").Click
据我的观察你的html id:=后多了一个空格,你把空格去掉试试(当然要确保html id能唯一标志你的对象)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-12-22 14:13:02 | 只看该作者
我用这个方法修改了一下代码。
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("html id:= page-hdr-nav-tab-2:").Click
但是还是报错:
Cannot identify the object "[ WebElement ]" (of class WebElement). Verify that this object's properties match an object currently displayed in your application.
Line (7): "Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("html id:= page-hdr-nav-tab-2:").Click".
这是为什么?

我去找UI确认了一下,好像这个地方是另外一个高手做的,不是我们的UI做的,哪个人是在A标签里面用的background。。。  那这个问题怎么解决?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-12-22 11:56:58 | 只看该作者
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("html id:= page-hdr-nav-tab-2:").Click

或者

Set myspinlets = Description.Create()
myspinlets ("micclass").Value = "WebElement"
myspinlets ("html id").Value = "page-hdr-nav-tab-2:"
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").childobjects(myspinlets).click

前者不用创建 Description 对象,直接在语句中阐明用来识别对象的某些属性,如
Browser("XXX").Page("XXX").WebElement("property1:=value1", "property2:=value2", "property3:=value3", ...,"propertyN:=valueN").Click

后者表示把该页面上所有对象类型是WebElement, 对象html id属性是page-hdr-nav-tab-2:的对象都Click一下,如果对象唯一就点一下,如果有好几个这样的对象,照道理要用For循环,对ChildObjects这个集合里面所有对象都做判断.

我也用QTP用了2个月,版本9.5, 如果有什么不对,还请大家指正
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-12-22 10:29:27 | 只看该作者
   哦!  我试一下   非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2008-12-21 13:55:49 | 只看该作者
最后那一行的代码不是那样写的,应该修改为
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").WebElement("html id:= page-hdr-nav-tab-2:").Click

或者
Browser("Spinlets Lab - spinletslab.com").Page("Spinlets Lab - spinletslab.com").childobject(myspinlets).click
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-28 04:30 , Processed in 0.086542 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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