web-dev-qa-db-ja.com

Ctrl + Aの組み合わせを要素に送信する

angularエンドツーエンドのe2eテストに protractor を使用しています。

要素にキーを送信するために、私は以下を使用します:

element(by.model('myModel')).sendKeys('Test');

Ctrl+Aなどのキーの組み合わせを送信するにはどうすればよいですか?


Githubで 分度器のソースコード を検索しましたが、関連する例が見つかりませんでした。

28
alecxe

LinuxとWindowsでは完全に可能ですが、 OSXでは不可

var Elm = element(by.model('myModel'));
Elm.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, "a"));

非要素バリアントもあります:

browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('a').perform();
30
Leo Gallucci

protractor-hotkeys を使用する場合、分度器テストでそれらをトリガーするために、単純なホットキー文字列(angular-hotkeysからのものなど)を使用できます。

したがって、これは次のようになります。

var hotkeys = require('protractor-hotkeys');
hotkeys.trigger('ctrl+a', { targetElement: element(by.model('myModel')) });
7
Droogans

古い投稿のようです。しかし、解決策を共有するだけで、MACの分度器を使用してTinymceエディターのコンテンツをクリアできました。

var body_editor = element(by.id('tinymce'));/*id of body inside iframe*/
body_editor.click().sendKeys(protractor.Key.chord(protractor.Key.COMMAND, "a"));
body_editor.click().sendKeys(protractor.Key.BACK_SPACE);
2