2009-03-18 2 views
7

Я использую WatiN (тестирование веб-приложений в .Net) для проведения тестирования интеграции на веб-сайте Dynamics CRM 4.0. CRM использует много всплывающих окон - например, нажатие на контакт в списке открывает новое окно браузера с данными Контакта.Watin - как протестировать сайт со всплывающими страницами

Я хочу, чтобы тест:

  • Войти в CRM (сделано)
  • перейти в список контактов (сделано)
  • клики по Contact, таким образом, вызвать всплывающее окно (сделано)
  • (не может быть сделано)

Поэтому мне нужно достать всплывающее окно. Как?

Спасибо.

+1

Я не думаю, что жалобы на плохой опыт пользователей - это вариант? Я не ожидаю, что вы пройдете далеко по этой дороге, хотя ... ;-) – RBerteig

ответ

11
//after the click that opens the popup:  
IE iepopup_1 = IE.AttachToIE(Find.ByUrl(theUrlOfThePopup)); 
//operate on iepopup_1 
9

Синтаксис немного изменился в последней версии WatiN (v2.0.20.1089), в настоящее время:

IE poppedUpBrowser = IE.AttachTo<IE>(Find.ByUrl("http://www.popped-up-site.co.uk/")); 
2

Может искать только часть URL будет решить эту проблему. Это можно сделать с помощью регулярных выражений:

System.Text.RegularExpressions.Regex popupHiddenRegEx = new System.Text.RegularExpressions.Regex("part_Of_URL"); 
IE poppedUpBrowser = IE.AttachTo<IE>(Find.ByUrl(popupHiddenRegEx)); 
Смежные вопросы