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:

测试菜菜鸟的蜕变 引用 删除 幽幽草哈哈   /   2015-10-08 17:16:14
支持的,一直都支持的
jintt的个人空间 引用 删除 jintt   /   2014-04-08 14:16:52
win7上面支持么,我今天试了WIN7,跑不起来,创建OBJECT时就会报错
 

评分:0

我来说两句

Open Toolbar