У нас есть тесты автоматизации Selenium-C #, на которых запущено внутреннее веб-приложение, для которого требуется токен Outh-2 Bearer. Когда я запускаю тесты, создается набор временных файлов с именем scope_dir. Эти файлы автоматически удаляются для некоторых тестов. Но в какой-то момент во время выполнения теста они просто остаются без удаления. После этого момента я получаю 500 ошибок.
Я пробовал следующее:
Chromedriver не удаляет scoped * dir во временной папке после завершения теста
https://bugs.chromium.org/p/chromedriver/issues/detail?id=644
https://sqa.stackexchange.com/questions/26675/chromedriver-not-deleting-scoped-dir-in-temp-folder-after-test-is-complete
Не удалось прочитать HKLM \ SOFTWARE \ Policies \ Google \ Chrome \ MachineLevelUserCloudPolicyEnrollmentToken: система не может найти указанный файл. (0x2)
https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/303
Я углубился в эту папку scope_dir и обнаружил следующую ошибку:
[0111 / 171553.822: INFO: CONSOLE (21)] "BSSO Telemetry: >> {" result ":" Error "," error ":" NoExtension "," type ":" ChromeSsoTelemetry "," data ": {}, «traces»: [«BrowserSSO Initialized», «Создание поставщика ChromeBrowserCore», «Отправка сообщения для метода CreateProviderAsync», «Полученное сообщение для метода CreateProviderAsync», «Ошибка: ошибка ChromeBrowserCore NoExtension: расширение не установлено.»]} ", источник: https://aadcdn.msauth.net/ests/2.1.8438.15/content/cdnbundles/oldbssointerrupt_core.min_lg-ochofcwm0-pkfjghldq2.js (21)
[0111 / 171553.878: INFO: CONSOLE (21)] "Телеметрия BSSO: {" result ":" Error "," error ":" NoExtension "," type ":" ChromeSsoTelemetry "," data ": {}," traces ": [" BrowserSSO Initialized "," Создание поставщика ChromeBrowserCore "," Отправка сообщения для метода CreateProviderAsync "," Полученное сообщение для метода CreateProviderAsync "," Ошибка: ошибка ChromeBrowserCore NoExtension: расширение не установлено. "]}", Источник: https://aadcdn.msftauth.net/ests/2.1.8438.15/content/cdnbundles/oldbssointerrupt_core.min_lg-ochofcwm0-pkfjghldq2.js (21)
[0111 / 171553.897: INFO: CONSOLE (21)] "BSSO Telemetry: {" result ":" Error "," error ":" NoExtension "," type ":" ChromeSsoTelemetry "," data ": {}," traces ": [" BrowserSSO Initialized "," Создание поставщика ChromeBrowserCore "," Отправка сообщения для метода CreateProviderAsync "," Полученное сообщение для метода CreateProviderAsync "," Ошибка: ошибка ChromeBrowserCore NoExtension: расширение не установлено. "]}",
[0111 / 171605.329: INFO: CONSOLE (92679)] "Не удалось найти HammerJS. Некоторые компоненты углового материала могут работать неправильно.", Источник: https://myWebsite.europe.cloudapp.azure.com/vendor.js (92679)
[0111 / 171605.409: INFO: CONSOLE (636)] "Token: null", источник:
Одним из решений из приведенных выше ссылок было удаление папок scope_dir перед каждым выполнением теста, когда запускается набор тестов. Но проблема в том, что мы запускаем четыре тестовых потока параллельно. Следовательно, удаление папки scope_dir топает на работающем процессе chromedriver.exe, вызывающем проблемы.
Тесты выполняются параллельно, используя:
Google Chrome Версия 71.0.3578.98
ChromeDriver версия 2.45.6
Запуск тестов через Specflow. Первоначально наш веб-сайт размещался в службах приложений Azure, и выполнение теста было гладким. Но последние пару недель он размещается в сервисной фабрике. После этого мы столкнулись с этой проблемой (однако не уверены, что это проблема).