Используйте Selenium Chrome и Gecko Driver одновременно. - PullRequest
0 голосов
/ 18 января 2019

Есть ли способ одновременно отключить использование 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 голосов
/ 18 января 2019

Вы не указали среду, так что я пойду с этим. Вот как это можно сделать в 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
0 голосов
/ 18 января 2019

Да, вы можете сделать это. Однако должно быть место, где вы указываете браузер, который будет открыт.

  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()
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...