JavaScript 为 windows 应用程序自动化实施 winium

JavaScript implementation of winium for windows application automation

我需要使用带有 JavaScript 的 winium 编写 windows 应用程序自动化脚本。我已经使用 Java 完成此操作,因为有很多帮助,material 可供参考。但是我需要在 JavaScript 中做同样的事情,我不知道 JavaScript 绑定中 winium 的等效 API。

Link of winium desktop

Winium Java implementation

约束低于 -

首选工具 - winium

选择的语言 - Java脚本

应用程序 - 任何 Windows 类应用程序。记事本

这就是我如何使用 JS (selenium + winium.desktop.driver) 实现的。希望这会有用。

  1. 在端口(默认 9999)上保留 Winium.Desktop.Driver 实例 运行,并在构建服务时在功能中使用相同的地址。
    1. 使用构建器 API.
    2. 在 winium 服务器上创建 selenium 实例
    3. 使用 winium 中的默认 APIs 与 windows 应用程序交互。

注意: 如果出现以下错误,请考虑将 selenium-webdriver 降级到 2.45.0。

错误 - UnsupportedOperationError: 'css selector' 无效或未实施搜索策略。

代码片段 :

"use strict"; 

  const {Builder, By, Key, until} = require('selenium-webdriver');

  (async function example() {
    let driver = await new Builder().usingServer('http://localhost:9999')
                                    .withCapabilities({
                                        "app": "C:\WINDOWS\system32\notepad.exe",
                                        "platformName": "Windows",
                                        "deviceName": "WindowsPC"
                                     })
                                    .forBrowser('windows')
                                    .build();

    try {

       await sleep(2000).then(function(){});
       await driver.findElement(By.name('Text Editor')).sendKeys('123');

         }
 finally {
      console.log('Killed..');
      await driver.quit();
    }
  })();

  function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
  }