51Testing软件测试论坛

标题: 为什么取不到IE版本号 [打印本页]

作者: airforever    时间: 2011-2-17 14:33
标题: 为什么取不到IE版本号
'最大化IE浏览器
Sub MaximizeBrowser1
Set BrowserObject = Description.Create()
BrowserObject("NativeClass").Value = "IEFrame"
Set WindowsBrowser = Desktop.ChildObjects(BrowserObject)  
brNum = WindowsBrowser.Count - 1   msgbox("browserNum:"&brNum)
For i = 0 To brNum
  ieVersion = WindowsBrowser(i).GetROProperty("Application")
          msgbox("ieVersion:"&ieVersion)
  wndTitle = WindowsBrowser(i).GetROProperty("title")
          msgbox("windowTitle:"&wndTitle)
    Set ObjectBrowser = Browser("micclass:=Browser", "index:="&i)
   If Instr(ieVersion,6) > 0 Then
         Window("regexpwndclass:=IEFrame","index:=0","text:="&wndTitle&".*").Maximize
    Else
         WindowsBrowser(i).Maximize
    End If
Next
  Set ObjectBrowser = Nothing
Set WindowsBrowser = Nothing
Set BrowserObject = Nothing
End Sub


上面的库函数是先遍历已经打开的IE,然后最大化IE.
只是想问下为什么用
ieVersion = WindowsBrowser(i).GetROProperty("Application")
msgbox("ieVersion:"&ieVersion)
取不到IE版本号?
作者: edisonlzk    时间: 2011-2-17 15:25

  1. strComputer = "192.168.1.101"

  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & _
  3.     "\root\cimv2\Applications\MicrosoftIE")

  4. Set colIESettings = objWMIService.ExecQuery _
  5.     ("Select * from MicrosoftIE_Summary")

  6. For Each strIESetting in colIESettings
  7.     Wscript.Echo "Version for: " & strComputer  & strIESetting.Version

  8. Next

复制代码

作者: airforever    时间: 2011-2-17 15:39
回复 2# edisonlzk

不懂.
作者: shingo0109    时间: 2011-2-17 16:36
用spy看下, 好像有version这个属性的, LZ试试
msgbox Browser("CreationTime:=0").GetROProperty("version")
作者: airforever    时间: 2011-2-17 17:25
回复 4# shingo0109

指定对单个IE取版本我知道怎么取.
现在是在循环里,这样取出来,值为空.
作者: lyscser    时间: 2011-2-17 20:11
本帖最后由 lyscser 于 2011-2-17 20:13 编辑

看楼主很明显用的是我的函数,哈哈,在告诉你一个方法

  1. Public Function GetRegeditInfo(regKey)
  2.    Dim myResult:myResult = ""

  3.    Set ShellINFunc = CreateObject("WScript.Shell")
  4.    myResult = ShellINFunc.RegRead(regKey)
  5.    Set ShellINFunc = Nothing

  6.    GetRegeditInfo = myResult
  7. End Function

  8. ieVersion = GetRegeditInfo("HKCU\Software\Microsoft\Internet Explorer\version")
  9. msgbox ieVersion
复制代码

作者: lyscser    时间: 2011-2-17 20:15
'最大化IE浏览器
Sub MaximizeBrowser1
Set BrowserObject = Description.Create()
BrowserObject("Nat ...
airforever 发表于 2011-2-17 14:33



代码不是这样么?
Public Function MaximizeBrowser
        Set BrowserObject = Description.Create()
        BrowserObject("NativeClass").Value = "IEFrame"
        Set WindowsBrowser = Desktop.ChildObjects(BrowserObject)
       
        For i = 0 To WindowsBrowser.Count - 1
                ieVersion = WindowsBrowser(i).GetROProperty("version")
                wndTitle = WindowsBrowser(i).GetROProperty("title")
                Set ObjectBrowser = Browser("micclass:=Browser", "index:=" & i)
                If         Instr(ieVersion,6) > 0 Then
                        Window("regexpwndclass:=IEFrame","index:=0","text:=" & wndTitle & ".*").Maximize
                Else
                        WindowsBrowser(i).Maximize
                End If       
                Set ObjectBrowser = Nothing
        Next
       
        Set WindowsBrowser = Nothing
        Set BrowserObject = Nothing
End Function
作者: airforever    时间: 2011-2-17 22:57
回复 7# lyscser


一样的,换汤不换药.
那你说为什么取不到ie的版本号呢?
作者: shingo0109    时间: 2011-2-18 09:11
回复 8# airforever


LZ用的是GetROProperty("Application"), 应该是GetROProperty("version")吧,这样就行了
作者: airforever    时间: 2011-2-18 09:17
回复 9# shingo0109


发帖之前试过了,仍不行的.
作者: shingo0109    时间: 2011-2-18 09:24
本帖最后由 shingo0109 于 2011-2-18 09:26 编辑

回复 10# airforever


我这边打开了3个IE6的浏览器, 用GetROProperty("version")试了下,跑这个脚本可以最大化啊, 不过没试过其他浏览器, 我只有IE6.
version的值是internet explorer 6, 不知LZ取到的version还是为空么?
作者: www4488    时间: 2011-2-24 23:01
我发现的问题是 IE7 可以获取version属性,IE8没有version属性,感觉是QTP不支持IE8,或者别的属性,IE6 没环境测不了是什么情况,所以首先要搞清楚 楼主的测试环境是IE几
作者: 5555    时间: 2011-2-25 14:29
用这个属性,取个版本号不用搞得这么复杂吧,用 SPY看看不就清楚了,下面这句脚本亲试的,可以用。
ie = Browser("CreationTime:=0").GetROProperty("application version")
作者: airforever    时间: 2011-2-25 17:37
用这个属性,取个版本号不用搞得这么复杂吧,用 SPY看看不就清楚了,下面这句脚本亲试的,可以用。
ie = B ...
5555 发表于 2011-2-25 14:29



我知道这个单条语句可以取得到啊,
我问的是:调用那个过程,执行过程中为什么不能返回ieVersion.
作者: airforever    时间: 2011-2-25 17:37
我发现的问题是 IE7 可以获取version属性,IE8没有version属性,感觉是QTP不支持IE8,或者别的属性,IE6 没 ...
www4488 发表于 2011-2-24 23:01



IE7
作者: xiaoyaoke    时间: 2011-2-25 18:53
本帖最后由 xiaoyaoke 于 2011-2-25 18:54 编辑

直接注册表里去取:

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer

     value: Version
作者: lhd85    时间: 2011-2-26 14:48
直接注册表里去取:

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer

     value: Ve ...
xiaoyaoke 发表于 2011-2-25 18:53


越来越精了吗




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