RFT和QTP与AutoIt

AutoIt 是一款开源的自动化工具,主要设计用于 Windows GUI 自动化,可以当成 轻量级的自动化测试工具 来使用。

 

目前最新版本是 3.3.4

http://www.autoitscript.com/autoit3/docs/history.htm

 

在使用 RFT QTP 等自动化测试工具进行测试时,如果碰到一些 Windows GUI 对象难以识别,可以结合 AutoIt 脚本来解决。

 

由于 AutoIt 的脚本可以编译成 exe 可执行文件,因此,可以在 RFT 中通过下面的方式来调用 AutoIt 脚本:

1 、首先,编写 AutoIt 脚本并转换成 exe 可执行文件:

Dim $title

Dim $ok_contrl

$title=" 关于 计算器 "

$ok_contrl = "[CLASS:Button;TEXT: 确定 ]"

WinActivate($title)

ControlClick($title,"",$ok_contrl)

2 、在 RFT 中调用:

        startApp ( "calc" );

               

        // Window: calc .exe : 计算器

        应用程序menuBar().click(atPath ( "帮助(H)" ));

        应用程序menuBar().click(atPath ( "帮助(H)->关于计算器(A)" ));

       

        String AutoItScript = "D://RFT//RFT_Project//Calc//AutoIt//closeCalc.exe" ;

        String WorkDir = "D://RFT//RFT_Project//Calc//AutoIt" ;

        run (AutoItScript ,WorkDir);

       

 

QTP 中,可以采用类似的方式调用 AutoIt 编译的可执行文件:

SystemUtil.Run "calc"

 

Window(" 计算器 ").Activate

Window(" 计算器 ").WinMenu("Menu").Select " 帮助 (H); 关于计算器 (A)"

 

SystemUtil.Run "AutoIt/closeCalc.exe"

 

 

另外,由于 AutoIt 支持 COM 接口的调用,因此,也可以这样调用:

Set oAutoIt = CreateObject("AutoItX3.Control")

 

oAutoIt.Run "calc"

 

oAutoIt.WinActivate " 计算器 "

oAutoIt.Send "!h"

oAutoIt.Send "a"

 

title = " 关于 计算器 "

ok_contrl = "[CLASS:Button;TEXT: 确定 ]"

oAutoIt.WinActivate title

oAutoIt.ControlClick title ,"",ok_contrl

 

oAutoIt.WinClose " 计算器 "

 

由此可见, AutoIt 在很大程度上比 DeviceReplay 要强!

 

 

 

你可能感兴趣的:(RFT和QTP与AutoIt)