51Testing软件测试论坛

标题: 为什么我的link不循环啊! [打印本页]

作者: jinwei6078    时间: 2009-3-10 15:27
标题: 为什么我的link不循环啊!
Dim i,b
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "CCTV"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
For i=1 to 2
    Select Case i
       Case 1 b="CCTV.com"
       Case 2 b="2008奥运会"
     End Select
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").Click
Browser("中国中央电视台 CCTV.com").Page("中国中央电视台 CCTV.com").Sync
Browser("中国中央电视台 CCTV.com").Close
Next
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Sync
Browser("百度一下,你就知道").Close
作者: mklodoss    时间: 2009-3-10 16:50
你可以先把这句注释掉:Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"
再执行一遍看是否有循环两次。
作者: dreamever    时间: 2009-3-10 17:27
估计你的脚本是执行了两次循环,但是因为点击的是同一个对象所以你感觉只循环了一次,你可以在循环体中加上一句:
msgbox i
然后再运行,就可以清楚的知道的脚本到底循环了几次了。
作者: jinwei6078    时间: 2009-3-10 18:36
msgbox是循环了2次,但每次都点的是第一个link的页面啊,
       Case 1 b="中国中央电视台 CCTV.com"
大侠们,如何修改?好像这里的第二句有问题,打开的都是第一次的页面,但我又不知如何修改,哪位给提示一下啊!
----------------------------------
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").Click
-----------------------------
作者: jinwei6078    时间: 2009-3-10 18:38
标题: 谢谢,终于有回复了
高手帮帮忙,别沉下去了。
新手问的很初级的问题,大家不要见笑,没有实例,都要自己一步步来
作者: mklodoss    时间: 2009-3-10 19:16
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"

msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetTOProperty("text")
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetROProperty("text")
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").Click

中间加上这个看下两次的值是否一样。
作者: jinwei6078    时间: 2009-3-11 09:35
标题: 谢谢,终于有回复了
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetTOProperty("text")
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetROProperty("text")
加了二句后,二次的值都是一样的,第一次为b, 第二次显示“中国中央电视台 CCTV.com”,应该如何改啊?怎么才能正确循环呢?
作者: mklodoss    时间: 2009-3-11 09:52
呵呵,我也有点看晕了,请 LZ把结果贴出来:
比如:
   1,
       msgbox :
      msgbox :
   2,
      msgbox:
      msgbox:
1,2 分别代表第一和第二次的循环。呵呵。
作者: jinwei6078    时间: 2009-3-11 11:52
标题: 结果如下
Dim i,b
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "CCTV"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
For i=1 to 2
    Select Case i
       Case 1 b="中国中央电视台 CCTV.com"
       Case 2 b="2008奥运会"
     End Select
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetTOProperty("text")
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetROProperty("text")
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").Click
Browser("中国中央电视台 CCTV.com").Page("中国中央电视台 CCTV.com").Sync
Browser("中国中央电视台 CCTV.com").Close
Next
--------------------------------

1,
   msgbox : b
      msgbox :中国中央电视台 CCTV.com
   2,
      msgbox:b
      msgbox:中国中央电视台 CCTV.com,/////这里应该是“2008奥运会”才对的
------------------------------------

我的操作步骤是,1、在www.baidu.com搜索框内输入CCTV,点击搜索按钮
2、在查询到的结果页面,有很多行。其中我打开第一个链接名称为“中国中央电视台 CCTV.com”,然后关闭这个网页,再关闭百度搜索。
3、我把CCTV查询后结果页面,搜索结果标题设置为参数化,让其模拟打开第二个链接,名称是“2008奥运会”
作者: mklodoss    时间: 2009-3-11 13:27
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"

把SetTOProperty "text","b" 改成 SetTOProperty "text",b
试试看。
作者: jinwei6078    时间: 2009-3-11 14:06
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text","b"

把SetTOProperty "text","b" 改成 SetTOProperty "text",b
试试看。
----------------------------------------------------------------------
现在可以打开第二个链接了,但是窗口不能关闭,关闭也要参数化的吧
怎么参数化关闭窗口啊
作者: mklodoss    时间: 2009-3-11 14:18
Browser("中国中央电视台 CCTV.com").Close  改成 Browser("micclass:=Browser").close
试试。
作者: jinwei6078    时间: 2009-3-11 15:27
标题: mklodoss,你好
我把这里改成这样
For i=1 to 2
    Select Case i
       Case 1 b="中国中央电视台 CCTV.com"
       Case 2 b="2008奥运会"
     End Select
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").SetTOProperty "text",b
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetTOProperty("text")
msgbox Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").GetROProperty("text")
Browser("百度一下,你就知道").Page("百度搜索_CCTV").Link("中国中央电视台 CCTV.com").Click
Browser("中国中央电视台 CCTV.com").Page("中国中央电视台 CCTV.com").Sync
Browser("micclass:=Browser").close
Next
------
最后运行出错啦,Browser("micclass:=Browser").close这里有错
作者: mklodoss    时间: 2009-3-11 18:36
那是因为你的IE开了不止一个。
Browser("micclass:=Browser", "index:=0").close
还有你应该多看看错误的信息,Qtp的提示还是很到位的,比如找到不止一个对象,或者对象找不到,也就那么几个,这样下次自己就知道问题出在那了。这个论坛上有很多高手写的精华贴,可以多看看,呵呵,个人的一点建议。
作者: jinwei6078    时间: 2009-3-11 19:14
标题: good
Browser("title:=" & b).Page("title:=" & b).Sync
Browser("title:=" & b).close
问题终于解决了,今天突然好像开了窍了,还是基础知识没掌握,谢谢mklodoss,dreamever二位的耐心指导!
以后自己得多弄懂基础知识,不能随便问这些小儿科的问题了
作者: jinwei6078    时间: 2009-3-11 19:16
有时看别人贴子,不实践还是不知怎么回事,这样亲自操作一遍就懂了,而且我又试了另外几种方面,调试几下很快就可以了。
又学会了调试方面和几种常用变量的使用。今天有收获了




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