Не удается запустить тестовые наборы селена из конвейера azure? - PullRequest
0 голосов
/ 23 марта 2020

Я записал несколько тестовых случаев с использованием IDE Селена. Я экспортировал эти тестовые сценарии на языке c# (nunit). Так как тестовые сценарии должны быть скомпилированы в файл .dll, я создал проект библиотеки с использованием Visual Studio сообщество и вставил мои тестовые сценарии в этот проект. Затем я создаю этот проект для генерации всех необходимых DLL-файлов, необходимых для запуска тестового набора из azure. После этого я поместил всю папку проекта библиотеки в репозитории azure (вместе с DLL-файлы). К сожалению, когда я запускаю свой конвейер, он продолжает сбой при выполнении задачи «VsTest - testAssemblies».

Сообщение об ошибке из azure logs-

Running all tests in d:\a\1\s\chrometest\chrometest\bin\Debug\chrometest.dll
   NUnit3TestExecutor converted 1 of 1 NUnit test cases
  X createnewfolderonly [18s 200ms]
  Error Message:
   OpenQA.Selenium.NoSuchElementException : no such element: Unable to locate element: {"method":"css selector","selector":".butt > span"}
  (Session info: chrome=80.0.3987.132)
  Stack Trace:
     at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value)
   at OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByCssSelector(String cssSelector)
   at OpenQA.Selenium.By.<>c__DisplayClass23_0.<CssSelector>b__0(ISearchContext context)
   at OpenQA.Selenium.By.FindElement(ISearchContext context)
   at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by)
   at DefaultSuiteTest.createnewfolderonly() in C:\Users\Admin\source\repos\chrometest\chrometest\chrometestpage.cs:line 33

Примечание Я могу запустить DLL непосредственно через vstest.console.exe на моем локальном компьютере с помощью командной строки без каких-либо проблем, и я не получаю ни одной из этих ошибок. Я также могу видеть, что после этого происходит автоматизация. Почему я делаю то же самое с azure конвейерами? Plz help

1 Ответ

0 голосов
/ 24 марта 2020

Иногда локальные тесты пользовательского интерфейса выполняются быстрее, чем на сервере, и при вызове метода нужный элемент загружается не полностью. Таким образом, вы видите выше ошибку Unable to locate element....

Вы можете попробовать проверить параметр Test mix contains UI tests для задачи VsTest. Или установите повторный запуск неудачных тестов пару раз.

enter image description here

Вы также можете попробовать использовать WebDriverWait for the ElementExists() в своем тестовом коде, чтобы убедиться, что элемент виден. Пожалуйста, проверьте эту тему, чтобы проверить, полностью ли загружена страница в Selenium для получения дополнительной информации.

Надеюсь, что выше поможет!

...