Подскажите, как лучше организовать запуск IWebDriver, чтобы присвоить ему options?
Есть класс, в котором находятся тесты:
public class BetTests : TestBase<FirefoxDriver>
{
}
public class TestBase<TDriver> where TDriver : IWebDriver, new()
{
}
В классе TestBase лежит SetUp
Для разных браузеров нужны разные options. Но проблема в том, что в момент передачи в TestBase параметра мы еще не знаем, какой это будет driver.
Сейчас написано топорно, но это отнимает много времени:
[SetUp]
public void Start()
{
this.driver = new TDriver();
if (driver.ToString() == ("OpenQA.Selenium.Chrome.ChromeDriver"))
{
//driver.Quit();
//driver = null;
ChromeOptions option = new ChromeOptions();
driver = new ChromeDriver(option);
}
if (driver.ToString() == ("OpenQA.Selenium.Firefox.FirefoxDriver"))
{
driver.Quit();
driver = null;
FirefoxOptions options = new FirefoxOptions();
options.AcceptInsecureCertificates = true;
driver = new FirefoxDriver(options);
}
app = new Application(driver);
}
Получается что сначала запускается браузер, узнаем что это за браузер, убиваем его, устанавливаем options и запускаем повторно. А как сделать, чтобы до запуска браузера уже узнать какой будет браузер?!