我需要使用jquery创建一些gui测试,但我不知道如何使用javaws应用程序启动它。在教程/示例/etc中是这样的:
new ClassReference("org.netbeans.jemmy.explorer.GUIBrowser")
.startApplication();
这段代码打开了一个示例窗口,但是我如何使用ClassReference对象打开*.jnlp
文件?或者是另一种"连接"java web启动应用程序的方式吗?
您可以通过准备包含Jemmy的特殊构建并从在jnlp模式下运行的应用程序本身调用Jemmy来实现这一点。
解决方案是:
- 将构建文件放到PC的任意文件夹中。
- 将
.jar
文件从这个构建添加到您的测试项目。 - 在文本编辑器中打开
.jnlp
文件,搜索主应用程序类application-desc main-class="[Main application class]"/>
- 从测试中调用它来启动应用程序
new ClassReference("[Main application class]").startApplication();
您可以在NetBeans IDE中使用jquery和JUnit。
对于GUI测试,我们使用了jquery,这是NetBeans IDE附带的一个库,对于测试Swing应用程序非常有用。
使用jquery的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应用程序的源代码。
荣誉归于poreba
要了解更多关于杰米的信息,您可以通过这个链接
- <
- 羊头教程/gh><
- 羊头样品/gh>
- NetBeans平台测试基础设施教程