Я создал консольное приложение с использованием VS 2017 Professional IDE с использованием инфраструктуры Selenium в C#. Это автоматизированное приложение, открывающее браузер IE, выполняющее некоторые операции, и закрывающее браузер после выполнения всех операций. Мы завершили все положительные и отрицательные тесты локально (работающие в режиме отладки и без режима отладки на VS), и они работают в соответствии с ожиданиями.
Мне нужно настроить приложение в планировщике задач. В планировщике задач на вкладке «Общие», когда я выбираю «Запускать только когда пользователь вошел в систему», я вижу, что запускается окно консоли, которое впоследствии запускает браузер IE и выполняет операции. Короче говоря, это работает.
Проблема заключается в том, что я выбираю опцию «Запустить, вошел ли пользователь в систему или нет» на вкладке «Общие» приложение работает в фоновом режиме (я не вижу окно консоли и запуска браузера, но журналы создаются.). Приложение выдает исключение тайм-аута для следующих операторов:
driver.FindElement (By.Id ("FileUploadButtonControl")). SendKeys (path); driver.FindElement (By.Id ("ButtonName")). Click ();
Используемый пакет Nuget :
Selenium.WebDriver v4.0.0
Selenium.WebDriver.IEDriver v3.150.
Браузер - IE версия 11
Сведения об исключении:
HTTP-запрос к удаленному серверу WebDriver для URL http://localhost: 63638 / сеанс / 335b5515-69f8-4340-943d-ca06b1c991da / element / 6c289ae0-e500-42d c -82b c -1b77590319eb / значение по истечении времени ожидания через 120 секунд .-> получение исключения для driver.FindElement (By.Id ("FileUploadButtonControl")). SendKeys (путь);
HTTP-запрос к удаленному серверу WebDriver для URL http://localhost: 62712 / Время сеанса / 4a553643-2690-4984-b2ad-2d74c39e370c / window истекло по истечении 120 секунд. -> получение исключения для driver.FindElement (By.Id ("ButtonName")). Click ();
Было бы чрезвычайно полезно, если бы кто-нибудь мог получить нас из этой сложной ситуации.