- The Chrome runs on chromium and the chrome driver is required for the selenium webdirver to "drive" the web UI
- Get the latest chrome driver installed from here
- Download the selenium-webdriver and make sure the version is compatible with your chrome’s version
- Choose the language you are going to write a script with require the webdriver for the chrome
- Chrome is probably the most easily suited for automation for almost all of the tools
- The Firefox runs on gecko engine and the gecko driver is required for the selenium webdirver to "drive" the web UI
- Get the latest gecko driver installed from here
- Download the zip or taz file
- Extract and include in the path
- For more references visit this page
- Since the Brave basically runs on Chromium, it has pretty much the same deps as Chrome
- Make sure you give the right executable path (/usr/bin/brave-browser) for the options parameter
How to run Selenium tests on the Brave web browser?
- Similar to chrome and firefox, safari is pretty much an available browser for the automation tool to hit on
- Before running a bot script on safari, make sure to run this
safaridriver --enable
in the terminal - For testing with linux and windows however, try installing safari in a virtual box
Is it possible to install Safari on Ubuntu 14.04?
- Though a minority of people use Internet Explorer that does not mean any bot would try to hit in it
- Hence the IE is also vulnerable to the bot attacks
- However very few automation tools seem to support IE and they are not quite stable in the recent versions
-
Selenium-webdriver will often throw an error saying its chrome webdriver is not compatible with the latest version of chrome browser. So everytime there is a SessionNotCreated Error, we have to manually download the latest chromdriver for the current chrome version and extract it into the right directory.
-
Refer this for more instuctions
-
In case of firefox browser, we would need the geckodriver to be dowloaded from here
🔻 Selenium - Docs
🔻 Puppeteer - Docs
Puppeteer-extra-plugin-stealth - Docs
🔻 Playwright - Docs
Puppeteer-extra/packages/playwright-extra at automation-extra - Docs
🔻 Pyppeteer - Docs
Essentially puppeteer designed for the python so as to make it manipulate the dynamic web elements as python is just meant for it.
🔻 PhantomJS - Docs
- Phantom JS has deprecated and the development has been stopped long ago.
- It throws a lot of errors even now when tried to automate with ubuntu.
- Hence can still be checked for its presence in the ua but cannot be used to hit sites.
Problems directly using PhantomJS in node.js
🔻 Nightmare - Docs
Nightmare is built on top of electron and cannot be used on any other browsers.
🔻 Nightwatch - Docs
Nightwatch is similar to playwright except it does not record our interactions but can the .js scripts can be written and run easily
🔻 Geb - Docs
Geb is indeed a great automation tool that supports all webdrivers, all browser configurations. It can only be written in Groovy
🔻 CasperJS - Docs
CasperJS runs on phantomJS.
🔻 SlimerJS - Docs
SlimerJS runs on top of gecko with and works very similar to casperJS
Slimerjs command doesn't do anything after install
- Appium is a great automation tool but cannot be used to drive web UI
- Can appium automate desktop web browsers?
- Appium is used for the OS automation like Android, MacOS, Windows using the webdrivers. But it is not built for automating the Web Applications hence it is of very less use for us.
🔻 Katalan Studio - Docs
- Katalon is a free Web UI automation tool with a GUI
- Here one can create a recording session where we go to an url
- As we interact with the Web UI, the corresponding CSS selectors and xPaths will be recorded in the background
- The actions will be written as scripts in rust and the tests can be done several times in multiple browsers and can be debugged at any stage
🔻 TestComplete - Docs
- TestComplete is another GUI automation tool used similar to the Katalan
🔻 Cypress.io - Docs
- Cypress is a tool with that can open GUI like interfaces within any chrome, firefox or electron.
- The scripts are written like the specs which are like with the extension .cy.js
- This runs the test with many browsers and viewports.
- Each requests and responses can also be tracked and console logged into the dev tools