软件测试工具Loadrunner扩展开发的一点感想[1] 软件测试
最近在应用VC6,大量采用win32 api扩展Loadrunner8.0/8.2的一些外围功能,做到自动调节面向资源消耗目标的合适(临界)并发数,碰到了几个相当棘手问题。
如:
(1) 在Loadrunner controller design 界面上编程实现更改并发用户数。
(2) 确保安全停止在运行的Loadrunner但不破坏已存在结果文件,如res.lrr等等。
由于没有Loadrunner源代码以及很detail的介绍Loadrunner内部结构的资料,为了突破这些点,耗费了相当的力气。
如果我们换成对JMeter的外围扩展内,在一堆结构清晰的代码面前,突破这些功能难度可能陡降。
经过这些天的尝试,对扩展黑盒工具的难度有一个更加清晰的认知,实践才知道水有多深。
下面简单介绍下如何做到编程更改Loadrunner并发数的几个思路。
1)EnumWindows/GetWindowText 结合spy++,硬编码检索到窗口层次关系,获取classname=GridControl、windows caption=GridClass的控件,然后利用grid控件的行、列改写数据。
可是classname=GridControl仅仅是注册窗口时的一个友好名字,并非真正实现类。这个实现这个控件的类是什么呢? 这下卡壳了。
从安全工程师哪边拿到LookingGlass.exe、FABERTOYS(进程管理).EXE等工具,企图嗅探出ocx但未果。
其他难度、实现成本比较高、非常笨拙操控grid的方式还有: 利用IDAPro动态调试或者进程注入修改对应内存内容,这个有时间再琢磨下。