对于 GUI 测试,我们使用 Jemmy,这是 NetBeans IDE 附带的一个库,对于测试 Swing 应用程序非常有用。
使用 Jemmy 的 JUnit 测试,例如:
@Test
public void JunitTest() {
JFrameOperator mainFrame = new JFrameOperator();
JTextFieldOperator textField = new JTextFieldOperator(mainFrame, "textIn");
int x = 10;
assertEquals(x, textField.getLocationOnScreen().x);
}
如果需要,添加@Test
注释并使用 JUnit 。assertEquals()
fail()
另一种方法:
您也可以使用 jnlp 来完成。已经建议@Sergey Grinev
快照:
- 点击webdriver中的jnlp文件链接,将jnlp文件保存到磁盘;
- 从 jnlp 运行 webstart 应用程序;
- 捕获打开的应用程序并将其用于测试。
这个过程可以通过使用以下库来完成:
- netx - 用于从 jnlp 运行 webstart 应用程序。
- uispec4j - 用于拦截创建的 webstart 窗口和操作窗口元素。
您可能可以使用其他 AWT/Swing 测试工具执行相同的技巧,但是 uispec4j 允许拦截从 jnlp 执行的 webstart 应用程序,您不需要通过调用 main() 来运行应用程序,也不需要让您的 webstart测试代码仓库中的应用程序源代码。
归功于tporeba
要了解有关 Jemmy 的更多信息,您可以通过此链接
- 杰米教程
- 杰米样品
- NetBeans 平台测试基础结构教程