常见的功能测试软件需要了解DOM或SWT,SWING对象,我觉得简直是多此一举。
我正在用Delphi做一个验收测试程序,貌似可以男女老少大小通吃,可用于web,SWT,swing,桌面或甚至手机测试,原理是局部截屏,
再通过全屏图像匹配查找,来定位鼠标,模拟键盘输入,并作正确性判断。Delphi本身即做为测试脚本语言,并做数据库清空比对以及日志输出。
编的过程中有两个难点,不过好在都解决了,一个是图像匹配速度问题,利用到了scanline来快速取点。另一个是表单的输入,如果也用截屏的方法,
反而比较笨拙,好在Delphi自带了Webbrowser,可用于html表单解析,可以两者结合起来用,用于表单项比较多的情况。
此软件的目的着重于功能测试,不考虑压力测试,也不适用于UI整体配色、背景、字体经常变换的情况。
一个测试更改用户名的脚本示例:
try
testName:='account'; //指定测试数据存放在\account\目录下
clickAt('profileLink'); //在全屏查找\account\profileLink.bmp图像,找到后鼠标单击它, 超出一定时限后还找不到则出错
waitfor('submit'); //等待表单提交link显示出来,直到超时出错
clickAtRight('username'); //点username.bmp对应的输入栏,鼠标将会点在匹配部分的右边沿中心点,即text input部分,而不是点在文字上
writekeys(KEY_CLEAR); //模拟键盘输入,将现有内容删除
writekeys('abc'); //输入一些字符
clickAt('submit'); //点提交link
waitfor('success'); //等待成功画面出现
checkDB('select username from user where userid=`001`','abc'); //比对数据库
log.add('account test passed!');
except
log.add('account test failed!');
end;
一个用Delphi做的通用UI功能测试方案,大家提提意见
猜你喜欢
转载自drinkjava.iteye.com/blog/118110
今日推荐
周排行