Use Selenium chrome and gecko driver as the same time

1.1k views Asked by At

Is there a way to fire off the use of the chrome and gecko webdriver at the same time without duplicating code?

Right now I'm swapping between the two.

from selenium import webdriver
from selenium.common.exceptions import 

def setUp(self):
    # self.browser = webdriver.Firefox()
    self.browser = webdriver.Chrome()
2

There are 2 answers

0
arunkvelu On BEST ANSWER

Yes, you can do it. However there must be some place where you specify the browser to be opened.

  1. Browser name to be opened can be passed as an argument to setup method

    from selenium import webdriver
    
    def setUp(self, browserName):
        if browserName == "Firefox":
            self.browser = webdriver.Firefox()
        elif browserName == "Chrome" :
            self.browser = webdriver.Chrome()
    
  2. Browser name to be opened can be read from some configuration/properties file.

    from selenium import webdriver
    
    def setUp(self):
        browserName = #Code to read value from configuration file
        if browserName == "Firefox":
            self.browser = webdriver.Firefox()
        elif browserName == "Chrome" :
            self.browser = webdriver.Chrome()
    
0
Mate Mrše On

You haven't specified the environment, so I'll go with this. This is how it could be done in Katalon Studio:

import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver
import com.kms.katalon.core.webui.driver.DriverFactory

System.setProperty("webdriver.chrome.driver", DriverFactory.getChromeDriverPath())
WebDriver driver1 = new ChromeDriver()
WebDriver driver2 = new FirefoxDriver()

DriverFactory.changeWebDriver(driver1)
// test with Chrome

DriverFactory.changeWebDriver(driver2)
// test with Firefox