I have a small question regarding selenium automation. I am using selenium automation for one website(live). Does its performance depend on internet speed?
Yes, it most certainly does. Selenium can only address elements once they're loaded, but that loading (controls, ajax calls, ...) is depending on your connection (and browser).
In fact, I had a perfectly working script with nice explicit waits for our test environment. But the execution on the production website went bad in places, because the ajax calls were delayed by the proxy (or whatever the exact technical issue is). I even had to use some fixed waits (I know!) because the explicit waits didn't suffice for one reason or another.
I found this article that describes Selenium architecture and how Selenium works. Quote from the article:
WebDriver controls browsers that are running in other processes. Although it's easy to overlook it, this means that every call that is made through its API is an RPC call and therefore the performance of the framework is at the mercy of network latency. In normal operation, this may not be terribly noticeable—most OSes optimize routing to localhost—but as the network latency between the browser and the test code increases, what may have seemed efficient becomes less so to both API designers and users of that API.