Enviar Ctrl + Una combinación a un elemento


Estoy usando transportador para pruebas angulares de extremo a extremo aka e2e.

Para enviar claves a un elemento, utilizo:

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

¿Cómo puedo enviar una combinación de teclas, como Ctrl+A?


He buscado en el código fuente del transportador en github, pero no he encontrado un ejemplo relevante.

Author: Artjom B., 2014-08-14

3 answers

Es perfectamente posible en Linux y Windows pero no en OSX

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

También hay una variante no-elemento:

browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('a').perform();
 28
Author: Leo Gallucci,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-14 19:12:41

Si usa protractor-hotkeys, puede usar cadenas de teclas rápidas simples (como las de angular-hotkeys) para activarlas en las pruebas de protractor.

Entonces, esto se convertiría en:

var hotkeys = require('protractor-hotkeys');
hotkeys.trigger('ctrl+a', { targetElement: element(by.model('myModel')) });
 7
Author: Droogans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-11 20:02:01

Parece un post antiguo. Pero simplemente compartir una solución funcionó para mí para borrar el contenido de Tinymce editor usando protractor en 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);
 2
Author: Arun Viswanathan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-22 10:51:56