Re:RobotJS – Node.js Desktop Automation
by rolux on Thursday July 30, 2015 @04:51AM
(#9973790)
Whoever designed this interface didn't think much about consistency.
[ Parent
| on HN ]
It's very temporary! There's discussion about it here:
Ah, thanks for the pointer!
keyboard.type('foo');
keyboard.press('fn');
... makes much more sense.I'd go for as short (but still readable) as possible.
> robot.keys("Type a string")
> robot.keys(ENTER) // ENTER is an integer key value
(I've been thinking about this while trying to make an idiomatic node client for Selenium WebDriver... https://github.com/hugs/34#api)Importing enum values into global/function/module local namespace has always been a PITA for javascript environments. Any suggestion on how to do this cleanly?
I'm sure it's possible, but one way to avoid it -- turn the constant into a method:
> robot.keys.ENTER()
(Not great for key combos, though...)I'd then go with
robot.keys.enter()
(since enter is a function, not a constant) and make it chainable by returning `robot.keys`. robot.keys.ctrl().enter()