RFT和QTP与AutoIt

本文介绍如何使用AutoIt这一开源工具增强自动化测试能力,尤其针对WindowsGUI自动化测试中难以识别的对象提供解决方案。文中详细展示了如何将AutoIt脚本集成到RFT及QTP等主流自动化测试工具中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--> <!-- [if gte mso 10]> <mce:style><!-- /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";} --> <!-- [endif]-->

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

目前最新版本是 3.3.4

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

在使用 RFTQTP 等自动化测试工具进行测试时,如果碰到一些 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 要强!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值