Selenium is a specification more than anything else.
It is a set of rules/methods/interfaces (use your own language here that makes sense) that define how you can automate a web browser (like Chrome, Firefox or Safari).
The browser vendors (Google,Mozilla,Apple,Microsoft..) all agree/know about the specification and agree to implement it. When Selenium first started that was not the case...
There is an official w3c spec for Selenium if you want to read it. See here: https://www.w3.org/TR/webdriver1/
Practically though it is a way to automate a browser. There are some official languages that Selenium supports: Java and Python being the two I use the most. There are others like Javascript or C# ...
So the code that Selenium provides to you as a developer (the libraries) is called a Selenium language binding.
The bindings try to be idiomatic to the language you are working in. Meaning the Python bindings look like Python you would expect. The Java bindings look like normal Java code... the C# bindings look like well behaved C# and so on.
So based on that the bindings will be different. But the spirit is the same.
Top comments (0)