badwing 发表于 2009-6-20 00:21:20

关于一段QTP代码引起的疑问

在网上看到一段代码,是直接写脚本进行测试的简单用例,看了下,还是有些地方不明白,希望高手帮我解答下:lol

以下是里面的一部分代码:
   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:43

试试看使用:
   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:18

我一直都在CS结构下测试,没有机会用BS
感觉BS挺有意思的

onlonely 发表于 2009-6-20 14:44:45

我认为像这样的,描述,
如果没有特别指定某个的话,默认代表的是*,就是全部的意思.

lyscser 发表于 2009-6-20 18:05:37

作用就是初始化所有的打开IE,就是不放心打开了多少IE,找不到要初始化的那个
页: [1]
查看完整版本: 关于一段QTP代码引起的疑问