Мы работаем с веб-драйвером Selenium, чтобы провести тесты пользовательского интерфейса для Internet Explorer 11. В протестированном веб-приложении появляется несколько всплывающих экранов. В нескольких тестах мы получили три окна браузера, а также три Driver.WindowHandles. Чтобы переключиться с одного WindowHandle на другой, мы ожидали, что Driver.WindowHandles будет отсортирован так, что самые старые окна будут первыми, а самые новые окна последними. Но это не так: это совершенно случайно!
Поскольку дескриптор окна — это идентификатор GUID, мы создали словарь с идентификатором GUID WindowHandle в качестве ключа со значением типа страницы, загружаемой в окне браузера. Но это также приводит к сохранению словаря, например, при закрытии окна.
Кажется, что для такого простого дела требуется много работы. Есть ли лучшее решение для этого?