我想通过向它发送大量随机击键来对 win32 应用程序进行压力测试,我想知道是否有人可以指出我可以使用的一些软件。理想情况下,我应该能够指定可以发送哪些击键,以及控制率(随机最小/最大)。
4 回答
Have a look at the Fuzz Testing of Application Reliability website of the University of Wisconsin. They did a research study some years ago to test the reliability of desktop software and on that page you find a link to their FTP site providing fuzz testing tools.
I've used the fuzz-nt tool from that site for my own tests and successfully found several bugs in our application. It has no option to choose the keyboard input values (but source is provided). Instead it lets you choose from these sources of random data:
- random keyboard events
- random mouse events
- random windows events (to be used with care or better not at all)
看看 AutoIt。它有一个 COM 接口,因此您可以使用任何支持 COM 的语言编写脚本。我编写了 Python 脚本来自动化 GUI。
我会使用宏软件,如 jrbushell 所说的 AutoIt 或 AutoHotkey。它们还允许随机点击... :-) 两者都是免费的。
这是一个伪代码(因为你没有提到你正在使用的语言):
- 创建一个数组,其中包含从 az、AZ、0-9 开始的字母表(取决于您要发送的键)
- 对于 i = 0 到 NumberOfKeyStrokes
- rand() % SizeOfArray
- rand() 毫秒的延迟(范围越小,击键越快)
- 通过 API 或作为字符串发送
有关向 Windows 上的应用程序发送按键的更多信息,请研究 API FindWindow 和 SendMessage