将Ctrl + A组合发送到元素

ale*_*cxe 28 javascript angularjs selenium-webdriver protractor

我正在使用量角器进行角度端到端aka e2e测试.

为了将密钥发送到元素,我使用:

element(by.model('myModel')).sendKeys('Test');
Run Code Online (Sandbox Code Playgroud)

我该如何发送密钥组合,比如Ctrl+A


我在github上搜索了量角器源代码,但没有找到相关的例子.

Leo*_*cci 30

它在Linux和Windows中完全可能,但在OSX中则不然

var elm = element(by.model('myModel'));
elm.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, "a"));
Run Code Online (Sandbox Code Playgroud)

还有一个非元素变体:

browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('a').perform();
Run Code Online (Sandbox Code Playgroud)

  • 小心非元素变体,因为它将按下CONTROL键以备将来测试.所以keyUp CONTROL在执行之前. (2认同)

Dro*_*ans 7

如果使用量角器 - 热键,则可以使用简单的热键字符串(如角度热键中的字符串)在量角器测试中触发它们.

所以,这会变成:

var hotkeys = require('protractor-hotkeys');
hotkeys.trigger('ctrl+a', { targetElement: element(by.model('myModel')) });
Run Code Online (Sandbox Code Playgroud)