【发布时间】:2015-07-15 00:49:32
【问题描述】:
我在 Windows 上使用 Java 机器人和 User32 本机库对 Swing GUI 进行了一系列自动化用户测试。使用User32.INSTANCE.EnumWindows 之类的方法,我可以找到一个具有特定标题的窗口,将其放在前面,然后使用击键来执行操作。我正在寻找的窗口是其他 Swing 应用程序(在单独的 JVM 中运行)、PDF 查看器或浏览器。我无法控制这些窗口。
有没有办法在 Linux 上做到这一点?
我的设置(如果有帮助可以更改,无论如何都会使用虚拟机):
- Ubuntu 14.04
- tightvnc 服务器与 xvnc
- IceWM 窗口管理器
注意:我在无头服务器上运行这些测试。
所需操作:
- 查找命名窗口(按标题,以确认已打开某些内容)
- 将命名窗口置于前面并聚焦于它(以执行击键)
【问题讨论】:
-
您可以查看
XTest扩展以及wmctrl和xdotool等工具。
标签: java linux automated-tests window-managers xserver