java - 有没有办法对 Swing 应用程序进行模糊测试?

标签 java swing fuzzing

在过去,PalmOS 有一个模拟器可以生成随机事件(“点击此处,在该文本字段中输入垃圾,...”)以测试应用程序如何处理它们(称为“Gremlins”)。这有点像模糊测试,但适用于 GUI。在 Java Swing 应用程序中是否有一种简单的(现有的)方法可以做到这一点?

编辑:

请注意,我不想指定触发了哪些事件。我想要一些代码来自动生成 并随机触发(如“Math.random()”)事件。事件做一些有用的事情或发现错误的可能性非常小。但这被触发许多事件所抵消。

最佳答案

尝试 FEST .它通过允许按名称访问 Swing 组件然后与它们交互来简化功能测试 Swing GUI 的过程。

来自 FEST 网站的示例:

dialog.comboBox("domain").select("Users");
dialog.textBox("username").enterText("alex.ruiz");
dialog.button("ok").click();
dialog.optionPane().requireErrorMessage()
                   .requireMessage("Please enter your password");

编辑:

或者,您要实现的目标应该使用 Math.random()、循环、findBomponentAt(int, int) 和 Robot 类非常简单。尤其是 Robot 类可能会有用,因为它具有欺骗鼠标和键盘事件的方法

关于java - 有没有办法对 Swing 应用程序进行模糊测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869663/

相关文章:

testing - 自动生成测试用例以滥用 BNF 语法

java - 我有选择查询问题

java - 如何删除对话框引用的对象?

java - 在Android应用程序中添加多语言选项

java - 动态定制基因jFrame

java - JTextArea行、列和字符关系

networking - 网络或传输层模糊测试

java - Java 中的 Spark 自定义排序列

java - 如何用java读取/写入ID3v2标签?