[英]Unable to use short cut keys (hotKeys)
我正在使用页面对象在 NightWatch v2.1.3 中编写 e2e 测试。 有项目列表,可以通过单击或通过其索引的热键来选择项目。
示例:可以通过单击或 shift+2 选择第二个元素。
按照我编写的代码,参考文档,但它不起作用
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);
});
控制台正在发生,但是当保存在.perform
方法中时,单击和 keyUp、keyDown 不起作用。
这里需要修复什么?
return
关键字很重要。 (这里是愚蠢的错误)click
不起作用,内部操作 api。最好使用api click而不是userActions click 。 不知道为什么在新用户操作下添加此click
。 文档中没有足够的示例,需要通过点击和试用的方法来查找。例子:
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);
(这取决于功能的开发方式,如果应用程序需要同时按下 1 和 0)
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
(这取决于功能的开发方式,如果应用程序需要同时按下 1 和 0 或不需要)
browser
.pause(3000)
.perform(function () {
const actions = this.actions({ async: true });
return actions
.keyDown('a')
.keyUp('a')
})
.pause(2000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.