QTP 启动应用软件方法

 在QTP录制过程中,我们可能需要手动添加一些代码。今天先总结一下启动应用软件的方法:

       在QTP中启动应用软件的方法有以下几种:

       1. SystemUtil.Run:使用系统内定的SystemUtil对象的Run方法启动,语法规则:SystemUtil.Run ( FileName, Parameters, Path, Operation,Mod ), 其中"FileName”是必填项,其余都可以省略不写. 经常写代码的对于这些常用的方法很熟悉,自然就写出来了,比如打开IE浏览器,我们直接写为:SystemUtil.Run "C:/Program Files/Internet Explorer/iexplore.exe";我们也可以在打开IE的同时,打开对应的网址,比如打开baidu,直接写为:SystemUtil.Run "C:/Program Files/Internet Explorer/iexplore.exe","www.baidu.com"即可。但是如果对于一些常用方法不是很熟悉的用户,QTP提供了很方便的步骤生成器,方便用户的使用。可以使用F7打开步骤生成器,根据提示一步步在对应的Value值内输入内容,则Generate Step下会自动出现完整的代码,然后点击OK即可生成。

 使用步骤生成器,我们获得的代码如下:SystemUtil.Run "C:/Program Files/Internet Explorer/iexplore.exe", "", "C:/Program Files/Internet Explore", "", 0 效果同SystemUtil.Run "C:/Program Files/Internet Explorer/iexplore.exe"

      2. InvokeApplication:该方法是QTP built-in的function,同样也可以使用F7打开步骤生成器获得我们想要的代码

获得的代码为:InvokeApplication "C:/Program Files/Internet Explorer/iexplore.exe",通过运行该代码,可以打开IE浏览器。同时可以为InvokeApplication设置返回值,返回值类型为布尔类型。我们可以充分利用这一点,来判断文件是否打开成功。返回为True,则打开成功,返回为False,则打开失败。

      比如我们打开一个应用文件“计算器”,就可以通过返回值来判断计算器打开成功还是失败。

      ReturnValue=InvokeApplication ("C:/Windows/System32/Calc.exe")

      If ReturnValue=True  Then

             Msgbox "Open Success!"

             Else

                    Msgbox "Open Fail!"

      End If

      值得注意的是,当使用返回值时,InvokeApplication后需要用括号括起来;另外SystemUtil.Run没有返回值。

      3. 利用WshShell对象启动:在讲到WshShell对象启动前,可以先回顾下WshShell的几个属性和WshShell的方法。

 

这些我们都可以通过帮助文档获得,这里就不赘述了。这样我们就可以利用WshShell对象的属性和方法来创建快捷方式、打开程序文件等。简单例子,还是打开”calc.exe”,我们只需要用到其中的Run方法。

        Set WshShell = CreateObject("WScript.Shell")

        WshShell.run("C:/Windows/System32/calc.exe")

        Set WshShell=nothing

        很多人会发现,如果我们照搬帮助文档中WshShell对象的使用,在QTP中运行时会报错,原因就在于QTP没有WScript对象,因此我们只需要将WScript.CreateObject改成CreateObject就行。其他WshShell的方法和属性,大家感兴趣可以自己试试看。

       4. 直接在Run-Setting中将启动的应用程序添加进去。如下图,即将”calc.exe”添加到启动目录中,则在录制和回放时,QTP会自动打开”计算器”


上一篇:Selenium中解决输入法导致sendKeys输入内容与预期不一致的问题


下一篇:.NET(C#) SendKeys模拟键盘按键不生效使用WinAPI的替代方案