51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2385|回复: 8
打印 上一主题 下一主题

关于page对象的识别

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-4 20:44:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采用描述性编程的方法识别page对象,我使用的是“url”属性,但是当属性中含有“=”字符时就无法识别到了。例如:

这句就识别不到,提示找不到page对象
Browser("title:=ATA-ETX考试管理系统").Page("url:=http://172.16.16.191/etxcdc/OrganizationManage/PZoneDetail.aspx?mode=add").WebElement("html tag:=SPAN","innertext:=保存").Click

但如下语句则可以识别到
Browser("title:=ATA-ETX考试管理系统").Page("url:=http://172.16.16.191/etxcdc/OrganizationManage/PZoneQuery.aspx").WebElement("html tag:=SPAN","innertext:=新增区域").Click


请教大家,采用描述性编程的方法识别page对象时应该使用哪个属性呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-4 22:16:10 | 只看该作者
在对象识别库里面保存了每个对象要记录的属性,使用这些属性就可以,或者使用object spy选择几个属性
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-4-5 11:12:07 | 只看该作者
关键是我从对象库里看,发现除了“url”属性之外两个page对象的其它属性都是相同的,但是使用“url”属性又遇到如下问题,所以就不知道使用什么属性了,特请教大家有什么别的方法。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-4-5 13:03:50 | 只看该作者
问题在url中的=号,与url属性赋值的=号存在语义上的冲突。有没有好的解决方法?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-4-5 21:18:47 | 只看该作者
=前面加\
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-4-6 10:20:22 | 只看该作者
我试了一下不行啊,应该怎么加呢?

请如下这个为例,写好贴出来让我参考一下,谢谢



Browser("title:=ATA-ETX考试管理系统").Page("url:=http://172.16.16.191/etxcdc/OrganizationManage/PZoneDetail.aspx?mode=add").WebElement("html tag:=SPAN","innertext:=保存").Click
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-4-6 13:43:53 | 只看该作者
请参考下面的信息:

  1. SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\Administrator","open"
  2. Browser("Browser").Page("Page").Sync
  3. Browser("Browser").Navigate "http://bbs.51testing.com/viewthread.php?tid=29710&extra=page%3D1"
  4. 'Browser("Browser").Page("51Testing软件测试论坛 - [软件测试职业发展]").Link("帮助").Click
  5. msgbox  Browser("Browser").Page("title:=51Testing软件测试论坛 \- \[软件测试职业发展\] \- \[51Testing企业培训专版\] - 关于page对象的识别---软件测试,软件质量工程师的家园").Exist
  6. Browser("Browser").Page("url:=http://www.51testing.com/cgi\-bin/viewthread.php\?tid\=29710&extra\=page%3D1").Link("text:=帮助").Click
复制代码



改成:

  1. Browser("title:=ATA\-ETX考试管理系统").Page("url:=http://172.16.16.191/etxcdc/OrganizationManage/PZoneDetail.aspx\?mode\=add").WebElement("html tag:=SPAN","innertext:=保存").Click
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-4-6 15:02:50 | 只看该作者
可以识别到了,多谢海龙版主的大力帮助
sdlkfj
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-8-15 09:42:00 | 只看该作者
这种方案不太好,因为你识别只是其中的一个页面,如果你的应用程序有N多页面不可能每个页面都是上面的方法。

目前我在国外的网站上看到一种比较好的方法

Function GetBrowser(creationtime)
   Set GetBrowser = Browser(creationtime)
End Function
Function GetPage(refBrowser)
  Set GetPage = refBrowser.Page("micclass:=page")
End Function

Dim currentBrowser,currentPage
Set currentBrowser = GetBrowser(1)  ' 电脑启动后首次打开IE,creationtime = 0
Set currentPage = GetPage(currentBrowser)
currentPage.WebElement("html tag:=SPAN","innertext:=保存").Click

'free resource
Set currentPage = Nothing
Set currentBrowser = Nothing
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 05:41 , Processed in 0.065814 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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