51Testing软件测试论坛

标题: 关于一段QTP代码引起的疑问 [打印本页]

作者: badwing    时间: 2009-6-20 00:21
标题: 关于一段QTP代码引起的疑问
在网上看到一段代码,是直接写脚本进行测试的简单用例,看了下,还是有些地方不明白,希望高手帮我解答下

以下是里面的一部分代码:
     1.   SystemUtil.Run "iexplore.exe"
          2.      Set browsDesc = description.create()
          3.     Set pageDesc = description.create()                          
          4.      Set curPage = Browser(browsDesc).Page(pageDesc)
          5.      curPage.Sync
          6.      Browser(browsDesc).Navigate "http://www.baidu.com"
          7.      curPage.Sync

        疑问是从第2句到第5句,browsDesc 与pageDesc 这2个对象中没有设定任何的属性与值的对应,为什么可以直接应用,QTP又是怎么去辨别的,我试过让他跑2次,发现虽然第二次打开了新的页面,但操作依旧是在第一次打开的页面中进行,而且如果第二次打开的页面没关,再跑第三次就会出现停顿(即第5步),真不明白QTP是如何去执行这段代码的?又是如何在未设定Propertys集合的情况在去识别对象?

    希望高手能来帮我解答下,不要吝啬自己的知识,分享下,大家都学习下,嘿嘿
作者: wengkai39    时间: 2009-6-20 01:06
试试看使用:
     1.   SystemUtil.Run "iexplore.exe"
          2.      Set browsDesc = description.create()
          3.     Set pageDesc = description.create()                           
          4.      Set curPage = Browser(browsDesc,"index:=0").Page(pageDesc)
          5.      curPage.Sync
          6.      Browser(browsDesc,"index:=0").Navigate "http://www.baidu.com"
          7.      curPage.Sync
这样能解决你打开第二个窗口后,仍在第一个窗口操作,及打开第三个窗口出现的停顿
作者: lijinshui    时间: 2009-6-20 08:48
我一直都在CS结构下测试,没有机会用BS
感觉BS挺有意思的
作者: onlonely    时间: 2009-6-20 14:44
我认为像这样的,描述,
如果没有特别指定某个的话,默认代表的是*,就是全部的意思.
作者: lyscser    时间: 2009-6-20 18:05
作用就是初始化所有的打开IE,就是不放心打开了多少IE,找不到要初始化的那个




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