QTP学习之ScreenCapture ApI比较图片
上一篇 /
下一篇 2013-03-18 20:08:41
/ 个人分类:QTP自动化测试
用
QTP实现对示例程序Flight的登录时,输入错误密码或不输入密码时,弹出的提示框是否与预存的图片一致,通过CaptureBitmap来捕获图片,通过OscreenCapture ApI对象通过比较图片的像素个数和像素的百分比来进行比较。
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "5146f12dfd9d5bada4369553"
Dialog("Login").WinButton("OK").Click
'用captureBitmap函数把图标存到指定位置
Dialog("Login").Dialog("Flight Reservations").Static("Static").CaptureBitmap"F:\icon_runtime.png",true
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
wait 2
Dialog("Login").WinButton("OK").Click
wait 1
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
file1 = "F:\icon.png" '预存图片
file2 = "F:\icon_runtime.png" '运行时的图标图片
wait 1
'这里使用了ScreenCapture API对象
Set ScreenCapture = CreateObject("KnowledgeInbox.ScreenCapture")
'获取两个图片之间的差异的像素点的个数
PixelCountDiff = oScreenCapture.CompareImages (File1,File2,"[PixelCountDiff]")
'获取两个图片之间差异的像素点的百分比
PixelDiffPerc = oScreenCapture.CompareImages(File1,File2,"[PixelDiffPerc ]")
Msgbox PixelCountDiff
Msgbox PixelDiffPerc
'保存差异图片
Call oScreenCapture.CompareImages(File1,File2,"F:\Difference.png")
Set ScreenCapture = Nothing
运行时提示Active x不能创建对象:"KnowledgeInbox.ScreenCapture",是因为没有安装ScreenCapture ApI,安装后可以直接使用,运行成功
收藏
举报
TAG: