Обработка всплывающих окон с различными браузерами с помощью WatiN - PullRequest
1 голос
/ 19 ноября 2010

Я работаю над автоматизацией приложения Sharepoint с помощью WatiN. Есть несколько экранов, где при нажатии на кнопку или ссылку дополнительная информация будет отображаться в светлом окне pop

URL-адрес браузера и URL-адрес всплывающего окна отличаются, поэтому я не могу получить какую-либо ссылку на объекты.

Пожалуйста, помогите мне с этим, все большинство моих сценариев должны будут обрабатывать подобные лайтбоксы.

1 Ответ

2 голосов
/ 19 ноября 2010

Если ваше всплывающее окно, как я понимаю, является страницей, отображаемой в новом окне браузера, вам потребуется создать новый экземпляр браузера WatiN для доступа к этому «всплывающему окну».

WatiN предлагает несколько критериев соответствия для подключения браузера с помощью метода AttachTo (). Он должен сочетаться с поисковым спецификатором:

  • По URL: Find.ByURL ()
  • По URI: Find.ByURI ()
  • По Windows Название: Find.ByTitle ()
  • По дескриптору окна: Find.By ()

Вот пример подключения браузера WatiN IE к существующей странице, в данном случае к вашему всплывающему окну, с использованием заголовка его окна:

IE myPopup = IE.AttachTo<IE>(Find.ByTitle("My Popup title"));

Поиск по названию может использовать только часть имени. Следуя тому же примеру, что и предыдущий, следующее должно также соответствовать вашему всплывающему окну:

IE myPopup = IE.AttachTo<IE>(Find.ByTitle("My Popup"));

Что касается поиска по URL или URI, они могут работать одинаково с частичным совпадением (я полагаю). Так что, если вы знаете, какой URL открывается во всплывающем окне, это может быть лучшим решением. Особенно, если URL-адрес более уникален, чем заголовок всплывающего окна, вы уменьшите вероятность подключения к неправильному браузеру.

...