问题标签 [fest]

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 投票
0 回答
644 浏览

java - Fest assertThat 列表部分匹配另一个列表

有没有一种简单的方法可以使用 fest 断言来检查字符串列表是否部分包含它在另一个字符串列表中的值。

例如,我可以使用以下代码来检查一个列表中的值是否与另一个列表中的值完全匹配:

...

但是,是否有一种简单的方法来比较以下内容:

0 投票
2 回答
832 浏览

java - 无法使用 Fest + Swing 创建 FrameFixture

在 JFrame、JButton 的 Fest 教程之后,我试图做一个简单的测试。

这是我的代码:

无论我做什么,代码都会在创建 FrameFixture 时崩溃(导致错误);我什至尝试用新的 JFrame 替换 myMainFrame。

我得到的错误:

有什么帮助吗?

0 投票
0 回答
304 浏览

android - 如何在 android 上使用 fest

我正在尝试将 FEST 与 android 应用程序测试一起使用

我想检查活动中的某些视图是否已正确创建和初始化

但是,当我assertThat(activity.welcomeText).....在这条线之后什么都不允许?

我写了 import static org.fest.assertions.api.ANDROID.assertThat;在我的导入中,但 api 似乎不可用

怎么做才能让我的测试项目给我我需要的 api?

0 投票
2 回答
101 浏览

android - Android 测试 - 使用 FEST - isEquals 结果

我想知道如何比较两个相等的结果(int)。

我查找了 FEST 文档,但我只能找到一些教程。

使用 实现时assertThat,我找不到正确的实现来比较相同的值。

0 投票
1 回答
462 浏览

java - Java:Runtime.getRuntime().exec() - 如何获取对已启动程序 JFrame 的引用?

启动这样的(或等效的)Java 程序时:

是否可以获得对已启动程序的 JFrame 的引用,以便可以使用FEST之类的库(例如在测试中)实现自动化?

当程序在同一个虚拟机中启动时,很容易做到这一点,如下面的例子所示,但由于几个原因,我不能这样做。该程序必须与启动它的虚拟机/进程分开,如上所述或类似。但是,当使用上面的代码启动进程时,下面的 FEST 代码没有找到框架。

使用 FEST 和来自Java Reflection 的改编代码的示例。运行一个外部 jar 并引用它的类?:(FrameFixture只是 a 的自动化包装器JFrame):

0 投票
1 回答
759 浏览

java - FEST:启动/停止使用 System.exit() 而不影响 VM 的外部 SWING 程序

在我的 Cucumber-jvm 场景中,我需要在每个场景之前运行一个外部 jar 程序,在步骤中使用 FEST 库与其交互,最后关闭程序以清理下一个场景的板岩。我需要System.exit()在关闭时退出的特定外部程序。反过来,我不能在我的测试中退出程序,因为这会终止整个 VM。相反,我使用 FEST 中内置的自定义 SecurityManager 来覆盖System.exit()调用。但是,我无法让它正常工作。

下面示例 1中的代码尝试在 Cucumber@Before挂钩中启动外部程序并在挂钩中将其关闭@After。当我运行时,它只适用于一种情况mvn verify。但是,对于两个或更多场景,maven 只是挂在行上:

之后什么也没有发生。我可以看到外部程序启动并关闭了一次,但第二次启动它并没有关闭。当我手动关闭它时,maven 输出以下内容:

有谁知道这里发生了什么?似乎问题在于外部程序根本没有终止 - 可能是NoExitSecurityManagerInstaller我正在使用的错误。但是,我不知道如何防止对 System.exit 的调用终止整个 VM。不知何故,我只想退出我启动的程序,而不影响它正在运行的虚拟机。那不可能吗?

更新 - 找到解决方案!

在玩了几个小时的代码后,我无意中发现使用的RobotWindowFinder有一个cleanUp方法:“清理{@link ScreenLock}这个机器人使用的所有使用的资源(键盘、鼠标、打开的窗口和)。” . 我尝试使用它而不是frame.close()它,结果证明它有效!它甚至不需要 custom SecurityManager

问题似乎是该BasicRobot.robotWithCurrentAwtHierarchy()调用在屏幕上获得了一个锁定,该锁定不是由frame.close(). 因此,当BasicRobot.robotWithCurrentAwtHierarchy()在第二个场景/测试中进行下一次调用时,调用将阻塞等待锁被释放,并有效地创建死锁。解决方案是使用手动释放锁robot.cleanUp(这也会关闭并处理任何打开的窗口)。但是,当它关闭最后一帧时为什么frame.close不这样做超出了我的范围。

示例 1

示例 2

0 投票
1 回答
100 浏览

gui-testing - 可以为没有入口点(没有主类)的项目编写自动化 GUI 测试用例吗?

我正在做一个不需要入口点(没有主类)的项目。我一直在考虑使用 FEST 或 Jemmy(使用 NetBeans IDE)实现几个 GUI 测试用例。是否可以在没有入口点的情况下自动化 GUI 测试?

0 投票
1 回答
67 浏览

java - Java Fest 消费控制台输出

我正在尝试用 Fest 测试 Java Swing。我的问题是关闭框架fixture ( frameFixture.close())作为@After tearDown()我的测试方法的一部分以某种方式阻止/隐藏/消耗(不知道哪个)来自测试类运行器的控制台输出。(即从 导出的打印输出Result result = JUnitCore.runClasses(testClasses))。

知道可能是什么原因吗?下面是相关的 setUp() 和 tearDown() 方法,以及运行所有测试并打印出汇总结果的一段代码,或者(可能)被 Fest 神秘抑制的内容。

setUp() and tearDown()测试类:

来自测试类运行器的测试摘要(当我调用时被抑制frameFixture.close()):

0 投票
1 回答
19 浏览

java - FESTassertThat() 方法不正确的行为

我正在 FEST 库中运行 assertThat() 方法。但是不了解下面在 while 循环中运行的代码的运行时行为。

在运行时 Priority = 1 和 nextPriority = 2,但是当我调试此语句该方法时,该方法不会退出,而是继续到 while 循环中的下一行。

有谁知道为什么会这样?

0 投票
1 回答
39 浏览

java - 实例化 RobotFixture 的新实例以传递给构造函数

我正在尝试通过将 JPopupMenu (testJPopupMenu) 传递给它来创建一个新的 JPopupMenuFixture,如下所示:

虽然我不确定如何实例化 RobotFixture 的新实例以传递给构造函数...