java - 有没有办法停止排队的 JUnit 测试并仍然保持 JavaFX Gui 运行?

标签 java multithreading selenium junit webdriver

我正在编写一个程序,该程序设置一个 GUI 以启动在 Java 中使用 Selenium WebDriver 的 JUnit 测试脚本。 GUI 在后台设置了一个 JUnit 测试队列(我相信是这样)。在 GUI 上,我想使用一个“停止测试”按钮来停止执行仍在队列中的所有 future JUnit 测试,但我想及时执行。我目前有将停止所有测试的代码,但如果队列中有 190 个测试,则需要 1-2 秒以上才能停止执行队列中的单个测试,当您考虑那么多测试时,这既不及时也不对消费者友好:

Field field = JUnitCore.class.getDeclaredField("fNotifier");
field.setAccessible(true);
RunNotifier runNotifier = (RunNotifier) field.get(runner);
runNotifier.pleaseStop();

有没有一种方法可以清除 JUnit 测试队列或关闭特定线程,从而在不终止 GUI 的情况下停止脚本的执行?

最佳答案

如何在 xml 文件中定义线程?发现了一些使用 parallel 变量立即杀死所有特定线程的东西。也许如果你用一些通用的东西命名你的线程并增加一个计数器以在通用名称的末尾放置一个“_1”......“_2”等等,你可以快速循环并直接杀死线程?您提到了一个测试队列,您对它的工作方式并不乐观,也许可以手动将队列掌握在自己手中并将其全部杀死。

关于java - 有没有办法停止排队的 JUnit 测试并仍然保持 JavaFX Gui 运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30718363/

相关文章:

java - Android,将数据推送到一组订阅线程的最佳方式?

Python with Selenium - 由于网站上位置的随机化,无法找到并单击此特定元素

java - 无法调整 JPanel 中列表的大小

java - Toast 在调用方法之前运行

java - 在一个 JOptionPane 消息框中转换一堆 System.out.prints

ruby - 具有强读取偏差的快速线程安全 Ruby 哈希

java - 使用 DbUtils QueryRunner 不会关闭数据库连接

java - android中的后台线程

java - 如何使用 Selenium Webdriver 和 Java 从包含在多个 span 标签内的 span 元素中获取实际文本

java - Selenium - 查找网页的所有元素