自动化测试系统开发手记(一)

本文记录了作者在开发QT自动化测试系统过程中的经验,强调了个人如何通过高效工作,实现比传统HP UFT团队更稳定强大的解决方案。

QT自动化测试系统手记(一)


上周,收到公司邮件,大约是要在月底给一个西语投行系统演示自动化测试的demo。自然,就是Kondor,一个广泛应用于投行交易管理的系统。

说实在,kondor有些复杂。 Kondor的Front office是用QT4.8.7 X64位编译的desktop,back office是用的web,而且仅支持IE。众所周知,对于IE的自动化测试通常采用Selenium,不过在页面中增加Flash表格就是一个有点意思的系统。

先不说Selenmium,毕竟,这些测试毕竟相对简单。确实也是如此,我把selenium接入到自己的自动化测试系统仅仅用了不到2天。IE WebDriver基于IE的Com的扩展说起不难。倒是QT的部分,花了不少时间,直到上周依旧还有些用户界面线程问题。

QT的主要问题是,版本太老。开始知道要接入Kondor的自动化测试时候,看了下Kondor的类库,4.8.7X64.以前没有接触过QT,就开始google模式。大约花了一周左右,算基本了解需要知道的Qt的模式。也微信了一个做Qt数十年的同学,就开始干活。于是,花了大量的硬盘下载了从QT4.8.x到最新的SDK,一下子硬盘就少了几百G。

第一个关键问题是,官网没有x64的版本,仅有源码和32位。于是,重新按照说明下载visual studio2008~2010的不同版本,进行64位编译。然后问题来了。编译的大小和Kondor的QTcore4.87的大小不一样。要知道,在C++开发中,类库大小版本通常是一个Crash的未知风险。不过也管不了许多,强行接入。

接入后,问题并非想象的简单。Kondor用了不少KDE的控件和Q3的控件。辛亏,KDE的控件大量继承Qt,倒也算幸运。不过在访问Kondor对象的metaobject时候,会经常crash。好在我自己的模式和HP UFT等系统不一样,也比HP的UFT稳定,算是基本能够操控Kondor front office的所有功能。也感叹,KDE和Qt的对象模型要比Infragistics等window厂家的东西,在模型方面要简单的多(过几天开贴写Infragistics的)。不过,在对Image和截屏处理依旧有个炸弹。

如果采用现有模式,那个炸弹基本是无解。因为Qt貌似不允许在非界面线程中调用Qimage,需要在事件的slot中之类。而我的代码是无法进入Kondor的Slot代码,因为Kondor对我而言就是一个黑盒子。

好在在权衡现有架构后,想到一个简单办法,规避了在Kondor进程内部操作image的事情,就给公司的留言说,说不定几个月后,我们可以参加巴西的狂欢节。老板也很搞笑,留言说,他开始打包了 :)

当然,现在巴西美国疫情极其严重,冒险去巴西?

备注

在推特吹牛,说自己一个人搞定HP UFT一个团队干的事情,还比HP UFT的东西稳定强大,哈哈哈。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值