同时使用Selenium chrome和gecko驱动程序

时间:2019-01-18 03:42:08

标签: selenium-webdriver

是否有一种方法可以在不重复代码的情况下同时启动chrome和gecko Webdriver?

现在我正在两者之间交换。

from selenium import webdriver
from selenium.common.exceptions import 

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

2 个答案:

答案 0 :(得分:0)

是的,您可以做到。但是,必须在某些地方指定要打开的浏览器。

  1. 要打开的浏览器名称可以作为参数传递给设置方法

    from selenium import webdriver
    
    def setUp(self, browserName):
        if browserName == "Firefox":
            self.browser = webdriver.Firefox()
        elif browserName == "Chrome" :
            self.browser = webdriver.Chrome()
    
  2. 要打开的浏览器名称可以从某些配置/属性文件中读取。

    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()
    

答案 1 :(得分:0)

您尚未指定环境,因此我将继续介绍。这可以在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