问题标签 [uispec4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1243 浏览

java - UISpec4J - AbstractMethodError (UISpecToolkit.createKeyboardFocusManagerPeer)

我正在构建一个简单的基于 Swing 的 Java 应用程序,并想添加一些简单的端到端测试。我遇到了UISpec4J库并将其导入到我的 Maven 项目中,如下所示:

我还有以下主要课程:

互联网上似乎没有很多关于 UISpec4J 的材料,但根据我设法找到的一些教程,以下代码应该可以工作:

但相反,它失败了,但出现以下异常:

我究竟做错了什么?此外,UISpec4J 库是 Google 向我推荐的第一个库,但我也愿意向其他功能测试库提出建议。

0 投票
1 回答
684 浏览

java - Javax Swing GUI 应用程序的单元测试问题 - 合适的 JDK 7 选项?

我需要测试一个使用 Swing GUI 界面的应用程序。我有一个客户端/服务器设计,想要模拟客户端输入(来自客户端的界面)并检索服务器响应。

到目前为止,我已经研究了 JDK 7 的 jfcUnit 和 UISpec4J,并在 NetBeans 下使用。尝试使用 jfcUnit(使用 NamedComponentFinder)从窗口实例中查找命名组件没有返回任何内容,示例来自登录屏幕示例下的此处。我假设名称是它在类中的字符串变量名。

我用于搜索给出空列表结果的客户端“连接”按钮的测试方法如下,其中 gui 是客户端 gui 类(遵循上面登录示例的其余部分):

另一个是 UISpec4J,虽然我找不到与 JDK 7 兼容的 .jar。它的文档更完整,也更合适。

有谁知道 JDK 7 下合适的 GUI 测试框架,或者 JDK 7 的 UISpec4J/jfcUnit 的工作示例?我需要一些在客户端模拟基于事件的触发的方法。

编辑我还想模拟多个客户端,这需要一个在一个测试实例中支持多个客户端窗口的测试框架。

非常感谢 :)

0 投票
1 回答
923 浏览

java - UISpec4J 和外部应用程序

我正在尝试使用 UISpec4J 启动一个外部应用程序进行测试。

以下是我到目前为止提到的问题及其答案:

如何自动化运行单击链接到 Web 应用程序的 Swing Java Web 启动应用程序,该应用程序由 Selenium WebDriver 自动化?

使用 UISpec4J 获取所有窗口

UISpec4J 在触发完成之前捕获模态对话框

下面提到的 my.exe 是使用某些工具包装在 exe 中的 Java 应用程序。它在内部使用 jars 并且是 Java GUI 应用程序。

这个可执行文件首先启动一个初始屏幕,然后是一个对话框,用于选择您要连接到的位置,然后显示该主窗口。除非我可以自动化我可以连接的地方,否则我不会得到主窗口。

基于这些问题,我提出了以下代码片段:

在上面的方法中,我简单地得到“没有显示窗口”错误。

在上面的第二种方法中,我仍然得到“没有显示窗口”错误并且控制永远不会到达覆盖的“进程”方法。

我参考了http://www.uispec4j.org/reports/apidocs/org/uispec4j/interception/WindowInterceptor.html,推荐的方法是使用init来捕获模态对话框是init\process序列。

要捕获非模态,建议我们应该使用以下内容:

但我不知道我应该在哪里以及如何称呼它..

从上面提到的第一个问题开始,我们应该能够做到这一点,因为它的答案提到启动 jnlp 应用程序,它是外部应用程序。

我尝试使用 jre 6 update 0 并且至少可以运行测试。在 java update 37 中,从我上面提到的第三个问题,我得到抽象方法未实现错误。

我究竟做错了什么?任何想法?

我正在使用最新的 UISpec4J 包 - 2.4 版。

在此先感谢,-尼尔。

0 投票
0 回答
598 浏览

java - 如何使用 UISpec4j

我必须自动化一个 swing 应用程序。我创建了一个示例 swing 应用程序来了解 UISpec4j jar 的功能。我编写了一个小测试,只需在文本字段中输入文本并单击按钮。

我为测试编写的代码如下:

但它什么也没做。我不知道为什么它不起作用。谁能告诉我哪里做错了。

0 投票
1 回答
428 浏览

java - 找不到 Eclipse 中的 UISpec4J 测试

我正在尝试使用 UISpec4J 库运行测试,但 Eclipse 说它找不到它们。我已经尝试重新启动 Eclipse、清理项目等

。该类没有给出错误,并且我遵循了网站上给出的示例。

我得到以下堆栈跟踪:

我真的不知道出了什么问题。也许你有一些建议?

0 投票
0 回答
180 浏览

java - JNLP 的 UISpec4j - 使窗口可见

我正在尝试使用 UISpec4j 和 NetX 来测试 JNLP。从如何自动化 Swing Java Web Start 应用程序中获得解决方案,该应用程序通过单击链接到 Web 应用程序中运行,该应用程序使用 Selenium WebDriver 实现自动化?

但我需要让 JNLP 应用程序可见。是否可以在 UISpec4j 中做到这一点?

0 投票
1 回答
52 浏览

java - 使用 UISpec4j 的 ClassCastException

我有时会看到以下使用 UISpec4j 构建的堆栈跟踪运行测试

根本原因似乎是顽皮的 JDK 代码对 SunGraphics2D 而不是 java.awt.Graphics2D 进行了向下转换java.awt.Component.BltBufferStrategy.getDrawGraphics()

我做错了什么,因为我在其他地方找不到任何对此的引用..?

解决方法?我能想到的就是在我的测试中吞下异常,不理想。