How to send keypress in nightwatch How to send keypress in nightwatch selenium selenium

How to send keypress in nightwatch


You can try the following way to press any key in nightwatch.js; I am pressing T and it is working superb!

client.keys("t", function(done) {    client.pause(5000);    client.expect.element('#carousel_container').to.have.css('display').which.equals('block');});

We are using the above way because nightwatch.js Keys does not have any alphabet command in its array, I have consoled and I haven't found any alphabet to press it.

Keys:{ NULL: '',  CANCEL: '',  HELP: '',  BACK_SPACE: '',  TAB: '',  CLEAR: '',  RETURN: '',  ENTER: '',  SHIFT: '',  CONTROL: '',  ALT: '',  PAUSE: '',  ESCAPE: '',  SPACE: '',  PAGEUP: '',  PAGEDOWN: '',  END: '',  HOME: '',  LEFT_ARROW: '',  UP_ARROW: '',  RIGHT_ARROW: '',  DOWN_ARROW: '',  ARROW_LEFT: '',  ARROW_UP: '',  ARROW_RIGHT: '',  ARROW_DOWN: '',  INSERT: '',  DELETE: '',  SEMICOLON: '',  EQUALS: '',  NUMPAD0: '',  NUMPAD1: '',  NUMPAD2: '',  NUMPAD3: '',  NUMPAD4: '',  NUMPAD5: '',  NUMPAD6: '',  NUMPAD7: '',  NUMPAD8: '',  NUMPAD9: '',  MULTIPLY: '',  ADD: '',  SEPARATOR: '',  SUBTRACT: '',  DECIMAL: '',  DIVIDE: '',  F1: '',  F2: '',  F3: '',  F4: '',  F5: '',  F6: '',  F7: '',  F8: '',  F9: '',  F10: '',  F11: '',  F12: '',  COMMAND: '',  META: '' },

You can press any key in above array easily like "client.keys(client.Keys.ENTER);".


if you entend to send a simple key stroke, you can do it directly through the following

browser.keys('j')

this will simulate the pressing on the J key

but according to http://nightwatchjs.org/api#setValuethis should also do the job

demoTest = function (browser) {  browser.setValue('input[type=text]', ['this does the job', browser.Keys.ENTER]);};

So if you need a press a simple character, send it as string, otherwise use one of the special character in the key.json in the nightwatch package

    {  "NULL"        : "\uE000",  "CANCEL"      : "\uE001",  "HELP"        : "\uE002",  "BACK_SPACE"  : "\uE003",  "TAB"         : "\uE004",  "CLEAR"       : "\uE005",  "RETURN"      : "\uE006",  "ENTER"       : "\uE007",  "SHIFT"       : "\uE008",  "CONTROL"     : "\uE009",  "ALT"         : "\uE00A",  "PAUSE"       : "\uE00B",  "ESCAPE"      : "\uE00C",  "SPACE"       : "\uE00D",  "PAGEUP"      : "\uE00E",  "PAGEDOWN"    : "\uE00F",  "END"         : "\uE010",  "HOME"        : "\uE011",  "LEFT_ARROW"  : "\uE012",  "UP_ARROW"    : "\uE013",  "RIGHT_ARROW" : "\uE014",  "DOWN_ARROW"  : "\uE015",  "ARROW_LEFT"  : "\uE012",  "ARROW_UP"    : "\uE013",  "ARROW_RIGHT" : "\uE014",  "ARROW_DOWN"  : "\uE015",  "INSERT"      : "\uE016",  "DELETE"      : "\uE017",  "SEMICOLON"   : "\uE018",  "EQUALS"      : "\uE019",  "NUMPAD0"     : "\uE01A",  "NUMPAD1"     : "\uE01B",  "NUMPAD2"     : "\uE01C",  "NUMPAD3"     : "\uE01D",  "NUMPAD4"     : "\uE01E",  "NUMPAD5"     : "\uE01F",  "NUMPAD6"     : "\uE020",  "NUMPAD7"     : "\uE021",  "NUMPAD8"     : "\uE022",  "NUMPAD9"     : "\uE023",  "MULTIPLY"    : "\uE024",  "ADD"         : "\uE025",  "SEPARATOR"   : "\uE026",  "SUBTRACT"    : "\uE027",  "DECIMAL"     : "\uE028",  "DIVIDE"      : "\uE029",  "F1"          : "\uE031",  "F2"          : "\uE032",  "F3"          : "\uE033",  "F4"          : "\uE034",  "F5"          : "\uE035",  "F6"          : "\uE036",  "F7"          : "\uE037",  "F8"          : "\uE038",  "F9"          : "\uE039",  "F10"         : "\uE03A",  "F11"         : "\uE03B",  "F12"         : "\uE03C",  "COMMAND"     : "\uE03D",  "META"        : "\uE03D"}


A simple way of doing this is to use .keys() method name and then to pass the key name you want to press.

For example: The below command will press the Down arrow key..keys(browser.Keys.ARROW_DOWN)