首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用快捷键(hotKeys)

无法使用快捷键(hotKeys)
EN

Stack Overflow用户
提问于 2022-04-25 14:19:14
回答 1查看 26关注 0票数 0

我正在使用页面对象在e2e v2.1.3中编写NightWatch测试。有项目列表,可以通过单击或按索引的hotKey来选择项。

示例:第二个元素可以通过单击或shift+2选择。

下面是我编写的代码,参考了文档,但是它不起作用

代码语言:javascript
复制
browser.perform(function () {
    const actions = this.actions({async: true});
    console.log('performing hotKeys');
    actions
        .click('@option1')
        .keyDown(Keys.SHIFT)
        .keyDown(Keys.NUMPAD2)
        .keyUp(Keys.NUMPAD2)
        .keyUp(Keys.SHIFT);
});

控制台正在发生,但是如果将click和keyUp、keyDown保存在.perform方法中,则.perform无法工作。

这里有什么需要修理的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-05 08:52:06

  1. return关键字很重要。(这是个愚蠢的错误)
  2. 普通键使用'a','b','1','2‘(单引号很重要,即使是数字)
  3. click不起作用,内部操作api。最好使用api点击而不是userActions点击。不知道为什么在新的用户操作下添加这个click。这些文档没有足够的例子,需要通过命中和试用的方法来找出。

示例:

  • 表示SHIFT +1
代码语言:javascript
复制
browser
  .pause(3000)
  .perform(function () {
    const actions = this.actions({ async: true });

    return actions
      .keyDown(Keys.SHIFT)
      .keyDown('1')
      .keyUp('1')
      .keyUp(Keys.SHIFT);
  })
  .pause(2000);
  • 换班+ 10

(这取决于功能开发的方式,如果应用程序需要同时按1和0才能按下)

代码语言:javascript
复制
browser
  .pause(3000)
  .perform(function () {
    const actions = this.actions({ async: true });

    return actions
      .keyDown(Keys.SHIFT)
      .keyDown('1')
      .keyUp('1')
      .keyDown('0')
      .keyUp('0')
      .keyUp(Keys.SHIFT);
  })
  .pause(2000);

// keyUp('10') wont work, it is not a valid key in your keyboard
  • 简单的“a”

(这取决于功能开发的方式,如果应用程序需要同时按1和0才能按下)

代码语言:javascript
复制
browser
  .pause(3000)
  .perform(function () {
    const actions = this.actions({ async: true });

    return actions
      .keyDown('a')
      .keyUp('a')
  })
  .pause(2000);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72001051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档