Envoi de Ctrl + une combinaison à un élément
J'utilise protractor pour les tests angulaires de bout en bout alias e2e
.
Pour envoyer des clés à un élément, j'utilise:
element(by.model('myModel')).sendKeys('Test');
Comment puis-je envoyer une combinaison de touches, comme Ctrl+A
?
J'ai cherché dans le code source du rapporteur sur github, mais je n'ai pas trouvé d'exemple pertinent.
3 réponses
C'est parfaitement possible sous Linux et Windows mais pas sous OSX
var elm = element(by.model('myModel'));
elm.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, "a"));
Il y a aussi une variante non-élément:
browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('a').perform();
Si vous utilisez protractor-hotkeys, vous pouvez utiliser des chaînes de raccourcis simples (comme celles de angular-hotkeys) pour les déclencher dans les tests de protractor.
Donc, cela deviendrait:
var hotkeys = require('protractor-hotkeys');
hotkeys.trigger('ctrl+a', { targetElement: element(by.model('myModel')) });
Semble être un ancien post. Mais le partage D'une solution a fonctionné pour moi pour effacer le contenu de Tinymce editor en utilisant protractor dans MAC.
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);