Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

follow w3c specifications? #237

Closed
xudafeng opened this issue Sep 17, 2016 · 11 comments
Closed

follow w3c specifications? #237

xudafeng opened this issue Sep 17, 2016 · 11 comments

Comments

@xudafeng
Copy link

xudafeng commented Sep 17, 2016

like webdriver or other desktop automation spec?

@1j01
Copy link

1j01 commented Sep 17, 2016

RobotJS isn't a web browser, so I don't think the WebDriver spec would apply directly, but you should be able to use selenium-webdriver in conjunction with robotjs.

@xudafeng
Copy link
Author

xudafeng commented Sep 17, 2016

@1j01 wrap robotjs like a driver to support cross end automation.

http://macacajs.github.io

@1j01
Copy link

1j01 commented Sep 17, 2016

By cross-end automation do you mean having code that could run both with RobotJS and a web browser? Or just a familiar API between code that does those separate things? What's the goal?

@xudafeng
Copy link
Author

driver UI system by w3c webdriver api

@1j01
Copy link

1j01 commented Sep 17, 2016

That doesn't clarify anything for me. It would help to know what you're trying to do, specifically, if anything.
For instance if you just want to use RobotJS remotely, there are modules that will let you do that.

@xudafeng
Copy link
Author

@1j01 Thx

@octalmage
Copy link
Owner

That would be interesting. It would be pretty easy to create a wrapper project, syntax is being discussed here: #4.

@daluu
Copy link

daluu commented Oct 25, 2018

Well, if not part of the core project, one could spin off a 3rd party project that wraps RobotJS around the WebDriver API. For ideas on that, to reduce work, one could base the wrapper skeleton around either the Appium project (currently node.js based, and follows WebDriver API to certain extent), or around any of the node.js WebDriver implementations - just take out the internal plumbing for what the UI automation does behind the scenes (for browser/mobile) and replace with code that invokes RobotJS.

See https://github.com/daluu/autoitdriverserver or https://github.com/daluu/autopydriverserver as examples, which use the old Appium python implementation as the skeleton.

@daluu
Copy link

daluu commented Oct 25, 2018

For instance if you just want to use RobotJS remotely, there are modules that will let you do that.

@1j01 for clarification for readers to minimize searching, what modules exactly are we talking about here? Pointing out links to the details would be helpful.

@1j01
Copy link

1j01 commented Oct 28, 2018

@daluu Generic RPC modules.
I would only recommend this if you can fully guarantee commands are coming from a trusted source, e.g. with an HTTPS/SSH connection, to a trusted system... if that's enough! idk, I've never done this, and haven't thought it thru thoroughly. But I would say you can assume access to robot.js means full access to the system. So it's dangerous.

@daluu
Copy link

daluu commented Oct 29, 2018

Thanks for the link. Indeed, the access issue would apply to any desktop GUI automation tool, it's up to the user to decide how they want to deploy.

Alternative options also could be to restrict access to the host running robot.js to only certain IP ranges, remote hosts, etc. including use of VPN, it at least limits the scope of access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants