Я хотел бы запустить свои модульные тесты в разных браузерах с помощью Selenium и xUnit. На протяжении всего исследования я не мог найти подходящего решения. Я нашел несколько вариантов с nUnit, но они мне не подходят.
Программа должна выполнять все тесты в трех разных браузерах (IE, Chrome, Firefox). Также количество браузеров должно быть настраиваемым.
Есть какое-нибудь правильное решение?
@Kiksen Это решение от nUnit, но я пытаюсь найти его с помощью xUnit.

На данный момент не существует идеального способа сделать это, но вы должны попробовать пакет Watin.core. Этот пакет будет поддерживать IE и браузер Firefox, и если вы хотите выполнить тест в браузере Chrome, вам не повезло с использованием пакета Watin.core.
Я нашел решение, которое на самом деле не выполняет тесты в нескольких браузерах одновременно, но оно работает, когда вы выполняете проект вручную и динамически получаете тип драйвера:
switch (Configuration["DriverType"])
{
case "firefox":
var firefoxService = FirefoxDriverService.CreateDefaultService(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "geckodriver.exe");
firefoxService.FirefoxBinaryPath = Configuration["FirefoxPath"];
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.SetPreference("browser.download.dir", Configuration["DownloadPath"]);
firefoxOptions.SetPreference("browser.download.useDownloadDir", true);
firefoxOptions.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream");
Driver = new FirefoxDriver(firefoxService, firefoxOptions);
break;
case "chrome":
var chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("safebrowsing.enabled", true);
Driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), chromeOptions);
break;
}
Я использую сценарий PowerShell для запуска библиотеки DLL и записи типа драйвера в файл appsettings.json с помощью этого сценария. Пример:
$file = Get-Content "appsettings.json" -raw | ConvertFrom-Json
$file.DriverType = "chrome"
Попробуйте взглянуть на: stackoverflow.com/questions/28480545/…