У меня есть приложение ASP.NET MVC CORE 3.0
, моё требование - запустить Selenium
на IIS 10
. Когда я размещаю свое приложение InProcess
, оно работает, как только я переключаюсь на IIS
, оно перестает работать (без каких-либо сообщений об ошибках и независимо от профиля пула приложений). У меня есть следующий код, но я считаю, что этот код не имеет отношения к этой конкретной проблеме.
public void OpenOrReuseDriver(bool headlessMode = false, bool reuse = true)
{
if (!_driver.IsClosed()) return;
if (reuse && _drivers.Any() && _drivers.Last().IsOpen())
_driver = _drivers.Last();
else
{
var chromeService = ChromeDriverService.CreateDefaultService($@"{AppDomain.CurrentDomain.BaseDirectory}"); // Directory.GetCurrentDirectory() // AppDomain.CurrentDomain.BaseDirectory // Directory.GetCurrentDirectory()}\wwwroot
var chromeOptions = new ChromeOptions
{
BinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
};
if (headlessMode)
{
chromeOptions.AddArguments(new List<string>
{
"--silent-launch",
"--no-startup-window",
"no-sandbox",
"headless"
});
chromeService.HideCommandPromptWindow = true;
}
_driver = new ChromeDriver(chromeService, chromeOptions);
var size = new Size(1240, 720);
_driver.Manage().Window.Size = size;
_driver.Manage().Window.Position = PointUtils.CenteredWindowTopLeft(size).ToDrawingPoint();
_driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(60);
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
_drivers.Add(_driver);
}
}
Я хотел бы знать шаги, которые заставят Selenium
работать с IIS
.