【问题标题】:Automate mouse movement inside VM independent of real mouse独立于真实鼠标在 VM 内自动移动鼠标
【发布时间】:2016-12-24 12:41:13
【问题描述】:

我正在尝试为我的公司自动化一些 UI 测试。我编写了一个贯穿整个过程的自动化程序。它做我需要的一切。我正在使用我的 Java 代码中的 Sikuli API 来执行此操作。

现在,我的问题是我的鼠标在测试过程中被劫持了。如果我可以在不影响鼠标的情况下运行这些测试会很方便。我的第一个想法是在 VM 中运行测试并使用自动化控制“VM 鼠标”,而不是从我的桌面运行测试并控制我的“桌面鼠标”。

我看到了一些关于这个主题的问题和链接,但没有一个有明确的答案。是否有可能做到这一点?如果是这样,怎么做?请记住,任何解决方案都有效 - 它不一定是 Java 或 Sikuli,我只想知道是否可以在 VM 内自动移动鼠标而不影响我的“真实”鼠标。

【问题讨论】:

    标签: java input automation virtual-machine sikuli


    【解决方案1】:

    您不能就您使用 Sikuli 所做的事情提出问题,然后说它不一定是 Sikuli。如果您通常对可以运行无头或远程桌面自动化的方式感兴趣,请直接询问。

    也就是说,你不能在不牺牲屏幕和鼠标的情况下使用 Sikuli。原因是 Sikuli 实现是通过利用控制用户输入与底层软件交互的 Java Robot 类来完成的。

    尝试使用 VNC 解决此限制。它被描述为here

    【讨论】:

    • 我不是在问我对 Sikuli 所做的事情。我在说明我遇到的一个问题。我无法用 Sikuli 解决这个问题。我正在寻找解决该问题的任何方法。关于 Sikuli 的信息是为了展示我之前的研究和解决问题的尝试。如果您认为最好删除 Sikuli 标签,请随时进行编辑。
    • 我也不关心在没有显示器的情况下使用 Sikuli(您共享的链接)。我只关心是否有任何方法可以在不干扰我的物理鼠标的情况下自动移动 VM 鼠标。
    • @nhouser9 通常,如果您在单独的机器上运行您的自动化(例如作为虚拟机),它不会干扰您的鼠标。不过,Sikuli 的局限性在于它无法正常工作,因为它需要连接一个物理输出设备(屏幕)。 VNC 方法应该可以解决这个限制。
    • 那么两个问题。 1. 如果是这样,为什么我不能在虚拟机中使用 sikuli 来控制它的鼠标,并将虚拟机连接到显示器? 2.当你说“一般......它不会干扰你的鼠标”时,你会怎么做?在不干扰鼠标的情况下自动在 VM 中单击?
    • @nhouser9 我很抱歉,我刚刚浏览了我之前的评论并意识到我弄错了。如果您可以设置一台带屏幕的专用机器来运行 Sikuli,那么您不会有任何问题。如果你只是连接一个额外的屏幕并在 VirtualBox 或其他东西中运行一个虚拟机,你仍然与它共享你的鼠标,你将无法使用你的鼠标执行其他任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多