一个用Delphi做的通用UI功能测试方案,大家提提意见

本文介绍了一款使用Delphi开发的功能测试工具,该工具采用局部截屏和全屏图像匹配的方式进行对象定位和模拟操作,适用于Web、SWT、Swing等多种应用环境。通过结合Webbrowser组件解析HTML表单,提高了表单输入的灵活性。
常见的功能测试软件需要了解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框架,基于MlSkin皮肤组件构建 功能特性(Feature): 框架UI界面设计简洁、轻量、时尚和风格统一,代码一看就懂,容易上手和维护 框架代码部分采用模块化设计,代码之间的耦合度低,旧工程项目的代码可以方便快速的部署迁移到此框架上 框架包含了一个模拟程序启动时初始化加载窗体界面 框架包含了一个实用的用户登录窗体界面 主界面使用了多标签样式来加载显示子窗体,标签支持单独关闭和拖动位置 在主界面左侧使用了多级功能列表的导航栏,有图标显示,可收缩和展开,都在一个独立窗体中易维护 包含了一个简洁大方的常规列表效果演示子窗体 包含了一个列表内容中有圆形头像、彩字和按钮的特殊效果的演示子窗体 包含了一些常用的按钮,部分按钮上支持角标显示,复制到其它窗体就可以直接使用 包含了一些常用的文本编辑框,基本上也是复制到其它窗体就能使用 包含了一些各类风格的文本标签、复选框、单选框、下拉框和简易列表的效果演示界面 包含了一个进度条加载任务的演示界面,里面还有几类不同风格的进度条的展示 包含了一套系统选项设置窗体(由多个子窗体组成),里面有一个通用的选项管理类代码可供参考使用 更多功能还会继续加入进去,已购买的用户可享受不限时间、不限次数的免费升级
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值