java - 如何在不控制源代码的情况下 headless 运行 gui Java 应用程序?

标签 java user-interface command-line-interface

我想使用带有 1 个径向选项、一个文件选择器和一个按钮的 javax swing GUI 来执行 Jar 文件。目标是能够通过 CLI 自动化 jar 并选择径向选项、文件,然后单击按钮。

我无权编辑 jar 的源

这可能吗?

最佳答案

您可以查找JAuto ,这是 JVMTI能够公开 UI 小部件属性(例如类名称、屏幕坐标)的代理。您可以通过向命名管道发送命令来与 JAuto 对话。它通过写入文件来响应。像这样的通信方案适用于 bash scripts .

xdotool的帮助下作为输入模拟器,您可以在 Linux X11 环境下、docker 容器内实现自动化。

虽然取决于 Java 应用程序的复杂性,但以 headless 方式实现自动化也可能非常耗时。您可能还需要 VNC 设置来检查程序行为。查看此项目IBGA并了解它如何使用 JAuto 和 xdotool 来自动化程序。

免责声明:我是 JAuto 和 IBGA 的作者。

关于java - 如何在不控制源代码的情况下 headless 运行 gui Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57713809/

相关文章:

c++ - mousePressEvent 有效,但 mouseMoveEvent 无效

linux - 将 stderr 和 stdout 重定向到同一文件的顺序

java - "Unfortunately MyApp has stopped"当我按下一个按钮

java - 使用 StyledDocument 设置 jTextPane 的样式和文本

java - 如何将项目选择固定在组合框中

python - 如何仅验证扩展名为 .xlsx 的文件名?

用于编程作业的 CLI 菜单,将代码分成 block

linux ftp命令行获取具有特定名称的文件

java - 如何比较表格?

java - 使用多个 onclicklistener 添加到 SharedPreference 值