51Testing软件测试论坛

标题: 已解决【使用Description.Create()遍历定为到对象后使用】测试时产生的问题 [打印本页]

作者: u03024218    时间: 2011-6-8 20:31
标题: 已解决【使用Description.Create()遍历定为到对象后使用】测试时产生的问题
本帖最后由 u03024218 于 2011-6-9 09:50 编辑
  1. systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"

  2.    Set oWebEdit =description.Create()
  3.    oWebEdit("micclass").Value="webedit"
  4.    Set EditObject=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit)
  5.    ObjectCount=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit).count
  6.    For i=0 to ObjcetCount-1
  7.            If Editobject(i).GetRoProperty("name")="wd" Then
  8.                    Editobject(i).set="jcygscz"
  9.            End If
  10.    Next
复制代码


以上是代码。
[attach]73445[/attach]



ObjectCount在刚走到oWebEdit("micclass").Value="webedit" 时 还能有值,显示为29,但是单步执行1步后,值就清空了。导致根本不会进入循环,见附件


[attach]73446[/attach]



请教一下 这是怎么回事啊?
作者: u03024218    时间: 2011-6-8 23:05
用的是百度的首页,直接copy过去就能看~~有没有高手呀,折磨好久了
作者: zzxxbb112    时间: 2011-6-8 23:12
怎么会有29个呢,百度首页不是只有一个webedit吗,还有你第9行是没有=号的。
帮你改了下,你试试:


systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"

   Set oWebEdit =description.Create()
   oWebEdit("micclass").Value="WebEdit"
   Set EditObject=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit)
   
   For i=0 to EditObject.count - 1
           If Editobject(i).GetRoProperty("name")="wd" Then
                   Editobject(i).set "jcygscz"
           End If
   Next
作者: u03024218    时间: 2011-6-9 09:36
Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit).count   还是等于29

而且执行到下一步的时候 便会被清零  根本不会进循环~~~

谢谢斑竹 我在看看研究下
作者: 17800455    时间: 2011-6-9 09:40
我帮你重新改了一下.经测试可行____________

  1.    systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"
  2.    Browser("name:=百度一下,你就知道").Sync
  3.    Set oWebEdit =description.Create()
  4.    oWebEdit("micclass").Value="WebEdit"
  5.    Set EditObject=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").ChildObjects(oWebEdit)
  6.    ObjectCount=EditObject.count
  7.    For i=0 to ObjcetCount
  8.            If Editobject(i).GetRoProperty("name")="wd" Then
  9.                    Editobject(i).set "jcygscz"
  10.            End If
  11.    Next
复制代码

作者: u03024218    时间: 2011-6-9 09:49
找到问题了 还是看了斑竹的blog。主要是对象的属性写错了

oWebEdit("micclass").Value="webedit"

这句中的webedit 应该写成WebEdit 没有忽略大小写。。

谢谢斑竹
作者: 17800455    时间: 2011-6-9 11:17
oWebEdit("micclass").Value="webedit"
  对WebEdit 确实是区分大小写的.
作者: u03024218    时间: 2011-6-9 14:04
谢谢17800455和斑竹了~~~

那最后有个问题,这个29是哪里来的? 随机值吗?




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