问题标签 [testfx]

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 投票
1 回答
2827 浏览

javafx - 使用 JemmyFX 或 TestFX 测试两个场景

我有一个带有按钮的场景(scene1)。
当我单击按钮时,场景变为场景 2。
scene2 也有一个按钮。当我单击它时,场景变为场景 1。
如何使用 JemmyFX 或 TestFX 在 JavaFX2 中测试此行为?

0 投票
2 回答
3420 浏览

java - 如何对 JavaFX 应用程序启动进行单元测试

我有一个 JavaFX 应用程序,我想测试它是否启动。我该怎么做呢?是否可以仅使用 JUnit,或者 TestFX 可以帮助我吗?

我的主要问题是:如何在应用程序(成功)启动后立即关闭它?

示例应用程序类:

0 投票
2 回答
9651 浏览

java - 开始使用 TestFx

我在让 TestFx 与 Oracle 的 JavaFx HelloWorld 应用程序一起工作时遇到了一些麻烦:

TestFx junit 测试:

nodeUnderTest这个例子应该是什么?

0 投票
3 回答
8915 浏览

unit-testing - 使用 JavaFx 和 TestFx 进行无头测试

我有一个简单的 JavaFx 应用程序(Java 8),它使用 TestFx 进行了单元测试。但是,当测试运行时,应用程序窗口会启动,并且鼠标会移动以执行我的测试中的任何操作。这些测试能否以不弹出应用程序的方式运行,并且在自动构建和测试正在运行时,我仍然可以将鼠标用于其他事情?

0 投票
1 回答
2828 浏览

testing - 如何使用 TestFX 在包含下划线的文本字段中编写字符串?

我正在用 JavaFX 编写一个简单的登录表单,为此我正在用 TestFX 编写一个测试程序。我的 TestFX 脚本会自动在文本字段中键入凭据并单击登录按钮,它可以进一步正常工作。

但是当我希望脚本键入包含下划线的凭据时,它不会键入下划线并在下划线出现之前键入。我在下划线之前使用了反斜杠,但这对我没有帮助。

下面是我登录页面的截图。

在此处输入图像描述

下面是我的测试脚本,当我给出没有下划线的字符串时它工作正常。

这是一个脚本,它试图输入一个字符串,其中包含下划线并且不能按预期工作,并给出异常作为无效键代码。

这是上面代码的输出。

在此处输入图像描述

当我使用冒号代替下划线时,也会发生同样的事情。请帮我解决这个问题。如果您需要更多信息,请告诉我。谢谢

0 投票
2 回答
1138 浏览

java - @Test 注释不适用于 TestFX

我正在尝试在我的项目中实现 TextFX 以进行一些 UI 测试。但是,我似乎无法让它正常工作。我已将 jar 从http://search.maven.org/#search%7Cga%7C1%7Ctestfx下载到我系统上名为“TestFX-3.1.2”的文件夹中。

之后我在 Netbeans8 中创建了一个指向这些 jar 文件(jar、源和 javadoc)的新库。作为测试,我创建了一个简单的 Java FXML 项目,并添加了新库。

接下来,我有一个用于我的 FXML 文件的控制器,其中包含以下生成的代码:

为了实现 TestFX 端,我创建了一个扩展 GuiTest 的新类:

正如上面在代码中所说,@Test 根本不起作用,并且带有红色下划线并带有警告“找不到符号”。谁能指出我做错了什么的正确方向?

0 投票
3 回答
6568 浏览

java - JavaFX + maven + TestFX + monocle 不能一起工作

我有一个在 maven 下演示 JavaFX + TestFX 的小项目。我用:

  1. Java(TM) SE 运行时环境 (build 1.8.0_40-b26)
  2. 阿帕奇 Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T21:29:23+04:00)

完整来源:https ://github.com/alevohin/testfx-maven-example

我有 2 个无法解决的问题:

1) 当我从 IDE (IDEA) 启动 AppFXTest 时,测试失败

如果我禁用 Monocle,它会起作用。但我看到了真正的 JavaFX 窗口和真正的光标单击按钮(“非无头”模式)

2)当我尝试通过 maven 执行测试(evecute mvn clean test)时,我得到另一个错误

我的 pom.xml 看起来像

AppFXTest

应用程序

更新

有问题

通过additionalClasspathElements像这样添加到 pom.xml 来解决

0 投票
0 回答
280 浏览

java - 在测试应用程序打开另一个窗口后,TestFX 在 Travis CI 构建期间无法本地化节点

我正在使用使用 JavaFX 8 创建的 GUI 开发简单的 Java 独立应用程序。

我用 TestFX 框架(版本 3.1.0)编写了一些 GUI 测试。在我的本地机器上测试工作正常,但在 Travis CI 环境中失败了。请看一下,一些代码片段:

我有No nodes matched '#licFileField'错误。我注意到,在每一个失败的情况下,匹配问题总是在应用程序中打开一些新窗口之后出现。

在上述情况下,单击会mainActionButton调用新窗口,并且licFileField是来自新(活动)窗口的元素名称。

也许它与 Travis CI 机器上的 xvfb 配置有关?在.travis.yml我有:

0 投票
1 回答
569 浏览

java - TestFX 4:不能简单地使用 verifyThat(),必须使用整个导入名称

我怀疑我的项目设置中发生了一些奇怪的事情。当我尝试仅使用该方法verifyThat()时,编译器找不到它并且我的程序出现错误,但是当我写出整个内容时org.loadui.testfx.Assertions.verifyThat(),它可以工作。我是这样导入的:import org.loadui.testfx.*;

0 投票
1 回答
410 浏览

java - EclEmma“覆盖为”Eclipse JUnit 线程死亡

我使用 TestFX 编写了以下 JUnit4 测试,以测试特定产品(待办事项列表)的 GUI (JavaFX),以及两个必要的类。第一个类是管理整个 GUI 的主类,而第二个是文本字段类。如有必要,完整的源代码位于此处(它是已提交的学校项目的一部分)。

如果我只是在 Eclipse 中使用 F11 热键或“运行方式 -> JUnit 测试”来运行它,那么该测试工作得非常好。但是,当我选择“Coverage”时,它会在第一个测试用例上出错(无论我选择设置为第一个)。具体来说,它“键入”第一个测试用例的前两个字符(此处的示例用例中的 sh),然后给我检测到用户输入的错误([TestFX] User mouse movement detected. Aborting test.)然后转到下一个测试用例。

我自己无法弄清楚,而且我似乎在网上找不到太多关于这个的帮助。任何帮助将不胜感激!根据堆栈跟踪,它看起来与线程有关,但我看不出覆盖运行将如何导致这种情况(当正常测试没有时)。

我不得不缩短堆栈跟踪,因为我达到了限制。

用户界面.java

UITextField.java

用户界面测试.java

PS对不起,如果我添加了不必要的标签。不确定我应该包括什么。

PPS 我从来没有让测试文件中的断言完全工作。如果你愿意,你可以忽略它们,因为我不想学习如何解决这个问题(现在)。