Это действительно странная вещь, которую я никогда раньше не видел, и ее трудно найти в Google.
У нас есть одностраничное приложение с внутренними вкладками (не вкладками Chrome, а чисто вкладками, смоделированными в HTML, в приложении).).У нас есть сквозные тесты Selenium C #, которые отлично работают при использовании одной вкладки.Мы создали тест, который запускается с двумя открытыми вкладками html, и они потерпели неудачу.Они потерпели неудачу, потому что модал с кнопкой «Открыть» был дублирован, и когда тест щелкнул по нему, он щелкнул по оригиналу, а не по дубликату, и выдал ошибку.Должен быть только один экземпляр модала и его компонентов, фактически, когда вы запускаете его как обычный пользователь, именно это и происходит.Вот сценарии:
- Запуск локально, как обычный сеанс браузера, две вкладки приложения открываются, открывается модальное диалоговое окно, один экземпляр кнопки Открыть в DOM.
- Запуск локально,запустить отладку Selenium C # Visual Studio, две вкладки приложения, открыть модальное диалоговое окно, два экземпляра одной и той же кнопки открытия в DOM, тест не пройден, поскольку код ищет «первый», а ошибка - «другой элемент получит щелчок».
Это проект Angular 4 SPA - такого еще не было.В DOM дублируются элементы в зависимости от режима браузера.Кто-нибудь еще видел это?
Не уверен, если это проблема с нашим приложением - в каком случае, почему оно не делает это, когда мы запускаем как обычный пользователь?Или, если проблема в том, как мы запускаем Chrome из набора тестов - мы не указываем какие-либо параметры Chrome при создании нового экземпляра ChromeDriver.