51Testing软件测试论坛

标题: 关于page对象的识别 [打印本页]

作者: j_wnn    时间: 2006-4-4 20:44
标题: 关于page对象的识别
采用描述性编程的方法识别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对象时应该使用哪个属性呢?
作者: 海龙    时间: 2006-4-4 22:16
在对象识别库里面保存了每个对象要记录的属性,使用这些属性就可以,或者使用object spy选择几个属性
作者: j_wnn    时间: 2006-4-5 11:12
关键是我从对象库里看,发现除了“url”属性之外两个page对象的其它属性都是相同的,但是使用“url”属性又遇到如下问题,所以就不知道使用什么属性了,特请教大家有什么别的方法。
作者: j_wnn    时间: 2006-4-5 13:03
问题在url中的=号,与url属性赋值的=号存在语义上的冲突。有没有好的解决方法?
作者: 海龙    时间: 2006-4-5 21:18
=前面加\
作者: j_wnn    时间: 2006-4-6 10:20
我试了一下不行啊,应该怎么加呢?

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



Browser("title:=ATA-ETX考试管理系统").Page("url:=http://172.16.16.191/etxcdc/OrganizationManage/PZoneDetail.aspx?mode=add").WebElement("html tag:=SPAN","innertext:=保存").Click
作者: 海龙    时间: 2006-4-6 13:43
请参考下面的信息:

  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
复制代码

作者: j_wnn    时间: 2006-4-6 15:02
可以识别到了,多谢海龙版主的大力帮助
sdlkfj
作者: richardcn    时间: 2007-8-15 09:42
这种方案不太好,因为你识别只是其中的一个页面,如果你的应用程序有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




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