我想通过向win32应用程序发送大量随机按键来对其进行压力测试,我想知道是否有人能为我指出一些我可以使用的软件。理想情况下,我应该能够指定可以发送哪些击键,以及控制速率(随机最小值/最大值)。
查看威斯康星大学应用可靠性模糊测试网站。几年前,他们做了一项研究来测试桌面软件的可靠性,在该页面上,你可以找到他们提供模糊测试工具的FTP网站的链接。
我已经使用该网站的fuzz-nt工具进行了自己的测试,并成功地在我们的应用程序中发现了几个错误。它没有选择键盘输入值的选项(但提供了源代码)。相反,它可以让你从这些随机数据来源中进行选择:
- 随机键盘事件
- 随机鼠标事件
- 随机窗口事件(小心使用或最好不要使用)
看看AutoIt。它有一个COM接口,所以你可以用任何支持COM的语言编写脚本。我已经编写了Python脚本来自动化GUI。
我会使用宏软件,如jrbushell所说的AutoIt或AutoHotkey。它们还允许随机点击…:-)两者都是免费的。
这里有一个伪代码(因为您没有提到您使用的语言):
- 创建一个包含a-z、a-z、0-9字母表的数组(取决于您希望发送的键)
- 对于i=0到NumberOfKeyStrokes
- rand()%SizeOfArray
- rand()毫秒的延迟(范围越低,按键敲击越快)
- 通过API或作为字符串发送
有关向windows上的应用程序发送keytrike的更多信息,请研究API FindWindow和SendMessage