I'm running Selenium grid with only Windows machines and the resource use is quite high.
I've been toying with the idea of putting Chrome and Firefox inside docker containers to improve efficiency.
My question is are there any key differences in the browsers themselves on the different platforms, i.e. would Chrome on Windows behave differently to Chrome on Linux or do they run the same code and behave the same?
Selenium
tends to mock the following User Actions
:
- Sending Text :
sendKeys("LiamHarries")
- Special Keyboard Characters :
sendKeys(Keys.ENTER)
and sendKeys(Keys.RETURN)
- Mouse Hover :
moveToElement(element).perform()
- Click :
click()
All these User Actions
are independent of the underlying OS Platforms
and Hardware Configuration
. Hence if they run the same code and they will behave the same.
Update :
As per your comment if something is rendered one was on chrome on windows will it be the same on chrome on Linux
, it is worth to mention when new versions of Web Browsers are published in different formats (e.g. .tz
/.tr
/.gz
for Linux
and .zip
/.rar
for Windows
) and they contain the required components (separate for Windows
/ Linux
and 32
/ 64
bit) to install the Browser as per underlying OS Architecture.
Though the Install Location
and Directory Structure
may vary within the OS Flavors
, the release candidate Web Browser
goes through different Testing Procedures
(e.g. Alpha Testing, Beta Testing, UAT and UX Control Testing) which does ensures that the User Experience is seamless and similar across all the OS Variants
.
Hence, from Selenium
perspective underlying hardware bears No Impact
Note : There have been instances when the Headless Chrome
feature was available in early Google Chrome
builds but that was a well planned move following the Chrome Release Map