Тест Selenium IE 11 на главном сервере Jenkins с помощью nunit3-console.exe - PullRequest
0 голосов
/ 08 марта 2019

У меня есть тест Selenium IE 11, написанный на C #, который отлично работает при локальном запуске в Debug или Release.этот код разворачивается в Win 10 с Jenkins (БЕЗ РАБОВ).«Сборка» Jenkins настроена для сборки кода, копирования test.dll в папку и вызова nunit3-console.exe для запуска теста.Служба Jenkins также настроена с учетной записью пользователя домена в качестве учетной записи для входа в систему.

Я могу войти в систему win 10 в качестве пользователя домена (Jenkins), открыть окно cmd и выполнить следующее безпроблема вообще

C: \ Program Files (x86) \ Jenkins \ workspace \ Prod Login> "C: \ Program Files (x86) \ NUnit.org \ nunit-console \ nunit3-console.exe "C: \ Prod Login \ Tests \ bin \ Debug \ Tests.dll

, но если вы попытаетесь" построить "решение с помощью Jenkins Web UI, во время поиска теста Nunit возникнет проблеманекоторые элементы после того, как он делает несколько щелчков мыши и отправляет.

Я знаю, что конфигурация IE безупречна, как я сказал, что тест выполняется нормально в командном окне при входе в систему с учетной записью домена (Jenkins)

Вот ошибка, которую я получаю:

Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException: ошибка Assert.Fail. ProcessError * By.XPath: // input [@ placeholder = 'Username'], Следующий элемент не найден: By.XPath: // input [@ placeholder = 'Username'], истекло время ожидания через 75 секунд;

снова я знаю, что это не локатор, он работает с By.Id или By.Xpath в командном окне, И мой Chrome, и тест Firefox с той же кодовой базой ТОГО ЖЕ просто другой WebDriver всеработа.

Я не могу не думать, что это как-то связано с идентичностью, которую используют Дженкинс и / или Nunit

любая помощь очень ценится !!!

** ОБНОВЛЕНИЕ Я только что попытался настроить подчиненное устройство Jenkins с учетной записью службы, работающей в качестве пользователя домена Jenkins, но пока не повезло ...

1 Ответ

0 голосов
/ 11 марта 2019

Я не могу оставить только комментарий, но у меня есть предложение отладки.Я знаю, что вы говорите с «селектор работает нормально», поэтому я не предполагаю, что селектор в любом случае неправильный.Тем не менее, я советую сделать тестовый выброс исходного кода страницы перед ошибкой команды.Driver.PageSource.И опубликовать это где-нибудь, где вы можете получить к нему.

Таким образом, вы можете определить, что драйвер определенно видит элементы в DOM, которые ему доступны.

Это поможет устранить целый ряд потенциальных проблем.Всегда существует вероятность того, что драйвер просто не увидит HTML-код, на который указывают эти селекторы, даже если мы видим его двумя собственными глазами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...