J'utilise rapporteur pour angular de bout en bout aka e2e
test.
Afin d'envoyer des clés à un élément, j'utilise:
element(by.model('myModel')).sendKeys('Test');
Comment envoyer une combinaison de touches, comme Ctrl+A
?
J'ai cherché dans code source du rapporteur sur github, mais je n'ai pas trouvé d'exemple pertinent.
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 existe également une variante sans élément:
browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('a').perform();
Si vous utilisez raccourcis clavier du rapporteur , vous pouvez utiliser des chaînes de raccourcis clavier simples (comme celles des raccourcis clavier angulaires) pour les déclencher dans les tests du rapporteur.
Donc, cela deviendrait:
var hotkeys = require('protractor-hotkeys');
hotkeys.trigger('ctrl+a', { targetElement: element(by.model('myModel')) });
On dirait un vieux poste. Mais le simple partage d'une solution a fonctionné pour moi pour effacer le contenu de l'éditeur Tinymce utilisant un rapporteur 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);