<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[MaxSoft — WebDriver Manager - Medium]]></title>
        <description><![CDATA[A simple and easy way to spin-up any automated browser session in any platform. - Medium]]></description>
        <link>https://medium.com/webdrivermanager?source=rss----1ddbdf2df858---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>MaxSoft — WebDriver Manager - Medium</title>
            <link>https://medium.com/webdrivermanager?source=rss----1ddbdf2df858---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 31 May 2026 09:26:57 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/webdrivermanager" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[MaxSoft — WebDriver Manager]]></title>
            <link>https://medium.com/webdrivermanager/maxsoft-webdriver-manager-37cd482adab2?source=rss----1ddbdf2df858---4</link>
            <guid isPermaLink="false">https://medium.com/p/37cd482adab2</guid>
            <category><![CDATA[maxsoft]]></category>
            <category><![CDATA[test-automation]]></category>
            <category><![CDATA[selenium]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[selenium-webdriver]]></category>
            <dc:creator><![CDATA[Osanda Deshan Nimalarathna]]></dc:creator>
            <pubDate>Sun, 15 Mar 2020 08:02:20 GMT</pubDate>
            <atom:updated>2021-05-16T15:48:05.083Z</atom:updated>
            <content:encoded><![CDATA[<h3>MaxSoft — WebDriver Manager</h3><h4>A simple and easy way to spin-up any automated browser session in any platform</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*YL_eOlGil1oPjeEzgW1knw.jpeg" /><figcaption>Selenium WebDriver</figcaption></figure><h3>Why do we need to have webdriver manager for selenium projects?</h3><p>Usually when we are doing Web UI automation, we will use chrome browser and we will create environment variable for the chrome driver binary file.</p><pre>System.setProperty(&quot;webdriver.chrome.driver&quot;, projectDir + &quot;\binaries\chromedriver.exe&quot;);<br>WebDriver driver = new ChromeDriver();<br>String baseUrl = &quot;https://www.google.com&quot;;<br>driver.get(baseUrl);&quot;</pre><p><strong>Drawbacks of this implementation:</strong></p><ol><li>Chrome driver is stored in the project folder (EXEs are vulnerable)</li><li>Chrome driver version need to update manually for the new chrome releases</li><li>Only works in Windows operating systems</li><li>Need to have more codes to run on other operating systems</li><li>Need to change this code to run on headless mode</li><li>Only run in Chrome browser</li><li>Need to have more codes to run on other browsers</li><li>Hard to scale for the real projects requirements</li></ol><p>MaxSoft-WebDriver Manager is developed to overcome these issues.</p><h3>Technologies/Frameworks used</h3><ul><li>Java</li><li>Selenium</li><li>Bonigarcia WebDriverManager</li><li>Junit</li><li>Apache Maven</li></ul><h3>Supported Platforms</h3><ul><li>Windows</li><li>Linux</li><li>Mac OS</li></ul><h3>Supported Languages</h3><ul><li>Java</li></ul><h3>Advantages</h3><ul><li>No need of any configurations</li><li>All browsers are embedded</li><li>Easy to use</li><li>Platform independent</li></ul><h3>Pre Requisites</h3><ol><li>Java</li><li>Maven</li></ol><h3>How to use MaxSoft — WebDriver Manager?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*MRgSGAAcbfyNWKDn6RiWZA.png" /><figcaption>MaxSoft-WebDriver Manager</figcaption></figure><h4>Step by step guide:</h4><ol><li>Go to your Selenium maven project’s <strong>pom.xml</strong> file.</li><li>Add below tags</li></ol><pre>&lt;repositories&gt;<br>    &lt;repository&gt;<br>        &lt;id&gt;jitpack.io&lt;/id&gt;<br>        &lt;url&gt;https://jitpack.io&lt;/url&gt;<br>    &lt;/repository&gt;<br>&lt;/repositories&gt;<br><br>&lt;dependencies&gt;<br>    &lt;dependency&gt;<br>        &lt;groupId&gt;com.github.osandadeshan&lt;/groupId&gt;<br>        &lt;artifactId&gt;maxsoft-webdriver-manager&lt;/artifactId&gt;<br>        &lt;version&gt;1.2.0&lt;/version&gt;<br>    &lt;/dependency&gt;<br>&lt;/dependencies&gt;</pre><p>3. Now in your test class, you can instantiate WebDriver with your preffered browser.</p><pre>WebDriver <em>driver </em>= DriverFactory.<em>getDriver</em>(<strong>&quot;chrome&quot;</strong>);</pre><p>As the parameter of above line, you can use <strong>“chrome”, “headless-chrome”, “firefox”, “headless-firefox”, “ie”, “edge”, “safari”</strong></p><p>Ex 1: <strong>For Chrome browser</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:00 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for chrome driver<br> **/<br><br><br></em>public class ChromeDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a driver instance of chrome browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(BrowserType.<em>CHROME</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testChromeDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>CHROME</em>, runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the chrome driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p>Ex 2: <strong>For Chrome browser — Headless Mode</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:24 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for chrome headless driver<br> **/<br><br><br></em>public class ChromeHeadlessDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a headless driver instance of chrome browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(DriverFactory.<em>HEADLESS_CHROME</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testChromeHeadlessDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>CHROME</em>, runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the chrome headless driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p>Ex 3: <strong>For Firefox browser</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:13 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for firefox driver<br> **/<br><br><br></em>public class FireFoxDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a driver instance of firefox browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(DriverFactory.<em>FIREFOX</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testFireFoxDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>FIREFOX</em>, runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the firefox driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p>Ex 4: <strong>For Firefox browser — Headless Mode</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:27 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for firefox headless driver<br> **/<br><br><br></em>public class FireFoxHeadlessDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a headless driver instance of firefox browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(DriverFactory.<em>HEADLESS_FIREFOX</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testFireFoxHeadlessDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>FIREFOX</em>, runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the firefox headless driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p>Ex 5: <strong>For Internet Explorer browser</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:31 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for internet explorer driver<br> **/<br><br><br></em>public class InternetExplorerDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a driver instance of internet explorer browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(DriverFactory.<em>IE</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testInternetExplorerDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>IE</em>, runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the internet explorer driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p>Ex 6: <strong>For Edge browser</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:33 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for edge driver<br> **/<br><br><br></em>public class EdgeDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a driver instance of edge browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(DriverFactory.<em>EDGE</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testEdgeDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>EDGE</em>.toLowerCase(), runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the edge driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p>Ex 7: <strong>For Safari browser</strong></p><pre>package com.maxsoft.webdrivermanager.driver.test;<br><br>import com.maxsoft.webdrivermanager.driver.DriverFactory;<br>import org.junit.After;<br>import org.junit.Assert;<br>import org.junit.Before;<br>import org.junit.Test;<br>import org.openqa.selenium.Capabilities;<br>import org.openqa.selenium.WebDriver;<br>import org.openqa.selenium.remote.BrowserType;<br>import org.openqa.selenium.remote.RemoteWebDriver;<br><br><em>/**<br> * Project Name    : maxsoft-webdriver-manager-demo<br> * Developer       : Osanda Deshan<br> * Version         : 1.0.0<br> * Date            : 3/15/2020<br> * Time            : 10:33 AM<br> * Description     : This is an example of how to use maxsoft-webdrivermanager for safari driver<br> **/<br><br><br></em>public class SafariDriverTest extends TestBase {<br><br>    // Holds the WebDriver instance<br>    public static WebDriver <em>driver</em>;<br><br>    // Initialize a driver instance of safari browser<br>    @Before<br>    public void initializeDriver() {<br>        <strong><em>driver </em>= DriverFactory.<em>getDriver</em>(DriverFactory.<em>SAFARI</em>);</strong><br>        <em>driver</em>.manage().window().maximize();<br>    }<br><br>    @Test<br>    public void testSafariDriver() {<br>        Capabilities cap = ((RemoteWebDriver) <em>driver</em>).getCapabilities();<br>        String runningBrowserName = cap.getBrowserName().toLowerCase();<br>        Assert.<em>assertEquals</em>(BrowserType.<em>SAFARI</em>, runningBrowserName);<br><br>        <em>driver</em>.get(&quot;http://automationpractice.com/&quot;);<br>        Assert.<em>assertEquals</em>(&quot;My Store&quot;, <em>driver</em>.getTitle());<br>    }<br><br>    // Close the safari driver instance<br>    @After<br>    public void closeDriver() {<br>        <em>driver</em>.quit();<br>    }<br>}</pre><p><strong>Happy Automation !!!</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=37cd482adab2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/webdrivermanager/maxsoft-webdriver-manager-37cd482adab2">MaxSoft — WebDriver Manager</a> was originally published in <a href="https://medium.com/webdrivermanager">MaxSoft — WebDriver Manager</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>