51Testing软件测试论坛

标题: 为什么我的程序打不开Firefox浏览器 [打印本页]

作者: vaguely    时间: 2007-8-17 20:51
标题: 为什么我的程序打不开Firefox浏览器
这是我的code
StartURL = "http://localhost/ekp/servlet/ekp/login?getnews=Y"   

Dim qtApp 'As QuickTest.Application ' Declare the application object variable
Set qtApp = CreateObject("QuickTest.Application") ' Create the application object  
Configure the Web application to use with this test

qtApp.Test.Settings.Launchers("Web").Active = True
qtApp.Test.Settings.Launchers("Web").Browser = "FF20"
qtApp.Test.Settings.Launchers("Web").Address = StartURL
qtApp.Test.Settings.Launchers("Web").CloseOnExit = True

Browser("Welcome to the XXXX").Page("Welcome to the XXXXX").WebEdit("UID").Set "ndadmin"
Browser("Welcome to the XXXX").Page("Welcome to the XXXXX").WebEdit("PWD").SetSecure "46c3ed2dfdb59cd01904099ab2d427e78f8a"


可是为啥打不开FireFox呢?
作者: winfood    时间: 2007-8-17 21:17
原帖由 vaguely 于 2007-8-17 20:51 发表
这是我的code
StartURL = "http://localhost/ekp/servlet/ekp/login?getnews=Y"   

Dim qtApp 'As QuickTest.Application ' Declare the application object variable
Set qtApp = CreateObject("QuickT ...

在qtApp.Test.Settings.Launchers("Web").Active = True那行代码前面,是不是少了下面这两句?

qtApp.Launch ' Start QuickTest
qtApp.New ' Open a new test

在运行脚本之前,qtApp需要先把自己运行起来并且创建一个新的脚本。
作者: vaguely    时间: 2007-8-18 00:44
对不起,我的问题没清楚。我的想法是参数化 browser, 参数化网页地址
IE这段运行可以。但是QTP总是打不开FireFox.

Function SetupBrowser(Browser)
  Dim MyBrowser
  StartURL = "http://localhost/ekp/servlet/ekp/login?getnews=Y"   
  ‘ I want to parameter this first URL later on.
   
   IF Browser ="IE" Then
                Set MyBrowser = CreateObject("InternetExplorer.Application")
                MyBrowser.Visible = True
                While MyBrowser.busy
                Wend
           ' webutil.DeleteCookies
                MyBrowser.Navigate StartURL
   End If

   If Browser ="FireFox" Then
        Set MyBrowser = CreateObject("QuickTest.Application")
                MyBrowser.Test.Settings.Launchers("Web").Active = True
                MyBrowser.Test.Settings.Launchers("Web").Browser = "FF20"
                MyBrowser.Test.Settings.Launchers("Web").Address = StartURL
                'MyBrowser.Test.Settings.Launchers("Web").CloseOnExit = True
   End If
   
End Function

SetupBrowser(IE);   
RunAction("XXX1", oneIteration)
RunAction("XXX2", oneIteration)  
….

SetupBrowser(FireFox);   
RunAction("XXX1", oneIteration)
RunAction("XXX2", oneIteration)  


就是动态确定test script运行在哪个browser上. Anyone can help me? Thankssdlkfj6

[ 本帖最后由 vaguely 于 2007-8-18 00:57 编辑 ]
作者: yabest    时间: 2007-8-18 01:32
原帖由 vaguely 于 2007-8-18 00:44 发表
对不起,我的问题没清楚。我的想法是参数化 browser, 参数化网页地址
IE这段运行可以。但是QTP总是打不开FireFox.

Function SetupBrowser(Browser)
  Dim MyBrowser
  StartURL = "http://localhost/ekp ...


晕,你这段代码是在QTP里运行的吧?!
你的QTP都已经运行起来了,你再修改qtApp.Test.Settings.Launchers有啥用啊?!

这个qtApp.Test.Settings.Launchers设置的是QTP运行前要打开的应用程序,只能在QTP运行前设置才有效!
所以一般是在外部vbs里才有用,外部vbs引导QTP打开某个test,并设置qtApp.Test.Settings.Launchers,然后引导QTP开始运行这个test。

[ 本帖最后由 yabest 于 2007-8-18 01:36 编辑 ]
作者: vaguely    时间: 2007-8-18 09:41
yes, this is wrong.

可是如果是FIREFOX的话,怎么让它也做这样的动作呢?

Set MyBrowser = CreateObject("InternetExplorer.Application")// 怎么改成firefox呢?
                MyBrowser.Visible = True
                While MyBrowser.busy
                Wend
           ' webutil.DeleteCookies
                MyBrowser.Navigate StartURL
作者: yabest    时间: 2007-8-18 10:06
Firefox不一定有类似IE的CreateObject("InternetExplorer.Application")这样的接口。
不过你可以简单点的,直接执行Firefox命令来启动Firefox

Set objShell = CreateObject("Wscript.Shell")
myrun = objShell.Run("firefox")

然后用QTP object spy查看这个Firefox窗口对象,看其有什么类似IE的Navigate 的方法了。
作者: vaguely    时间: 2007-8-18 11:50
谢谢。但是用这种方法,如何测试结束后关掉浏览器呢
作者: yabest    时间: 2007-8-18 14:44
原帖由 vaguely 于 2007-8-18 11:50 发表
谢谢。但是用这种方法,如何测试结束后关掉浏览器呢


这个啊,你可以斯文点,看看Firefox窗口对象有没有啥Close、Exit方法!
也可以来野蛮一点的,SystemUtil.CloseProcessByName("firefox.exe")
作者: vaguely    时间: 2007-8-19 00:50
sdlkfj6  谢谢




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