robotframework / PythonRemoteServer

Robot Framework remote server implemented with Python
Apache License 2.0
153 stars 83 forks source link

Support serving Robot Framework Keywords #42

Open zeinababbasi opened 7 years ago

zeinababbasi commented 7 years ago

Server provides robot framework keywords written in ".robot" files.

pekkaklarck commented 7 years ago

What benefits would this enhancement bring?

zeinababbasi commented 7 years ago

Hi Dear Pekka,

One of the benefits of the Robot Framework Remote Server for me is that I can register some of the common (shared) libraries among all of my test projects on the server and tell all clients to get those from the server; it eliminates repetition of shared libraries. I also have shared Robot keywords which I prefer to serve them on a Robot Framework Remote Server like what I'm doing for my Python libraries.

It may first seem that I can implement those Robot keywords in Python and register them in the Robot Framework Remote Server, but the requirement is reasonable when it comes to the keywords which use Selenium2Library keywords. It's almost impossible to pass web-driver object between Robot Framework keywords and Python classes/methods; if I want to have some common keywords using Selenium2Library, I can't write them in Python in order to serve them on a remote server. I have to implement (copy/paste) them in each project.

Other than Selenium2Library, I am currently using a lot of Robot Framework pre-defined keywords in my own written keywords and I don't want to implement them in Python again, if I have to re-write them in Python to be able to serve them in remote server.

On Mon, Sep 18, 2017 at 1:40 PM, Pekka Klärck notifications@github.com wrote:

What benefits would this enhancement bring?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/robotframework/PythonRemoteServer/issues/42#issuecomment-330165319, or mute the thread https://github.com/notifications/unsubscribe-auth/ATBbleMB3KLqhGIjykm6zcsClZggVlZaks5sjjOIgaJpZM4PaCxj .

pekkaklarck commented 7 years ago

I understand benefits of reusable resource files. Could you clarify what benefits where would be having them on the remote server side and not where Robot actually is running? Local resource files can use remote keywords without any problems.

If the motivation is to have those higher level keywords in a single place and avoid the need to distribute them to everyone, I would say that's not a very good reason. It's trivial to get resources and other similar data to everyone using version control system.

nicolae-chedea commented 3 years ago

I could also use this improvement. I am working on a project where we have many Robot resource files with many keywords. These keywords are used in the testcases. I want to run the existing tests remotely and distributed. Some test steps on one machine, some test steps on another machine and so on. The only way to do that now would be to modify all tests steps to replace the existing Robot keywords with their underlying Python methods.