Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Watin - how to test site with popup pages

I'm using WatiN (Web Application Testing in .Net) to do integration testing on a Dynamics CRM 4.0 website. CRM uses a lot of popup windows - eg clicking on a Contact in a list opens a new browser window with the Contact's details.

I want to test:

  • login to CRM (done)
  • go to the Contact list (done)
  • click on an Contact, thus trigger the popup (done)
  • test functionality within the Contact entity/form (can't do)

So I need to get hold of the popped up window. How?

Thanks.

like image 377
Rocho Avatar asked Mar 18 '09 07:03

Rocho


3 Answers

//after the click that opens the popup:    
IE iepopup_1 = IE.AttachToIE(Find.ByUrl(theUrlOfThePopup));
//operate on iepopup_1
like image 103
eglasius Avatar answered Nov 06 '22 02:11

eglasius


Syntax has changed slightly in newest version of WatiN (v2.0.20.1089), is now:

IE poppedUpBrowser = IE.AttachTo<IE>(Find.ByUrl("http://www.popped-up-site.co.uk/"));
like image 9
stephen Avatar answered Nov 06 '22 03:11

stephen


Maybe searching for only part of the URL would solve it. This can be done using regular expressions:

System.Text.RegularExpressions.Regex popupHiddenRegEx = new System.Text.RegularExpressions.Regex("part_Of_URL");
IE poppedUpBrowser = IE.AttachTo<IE>(Find.ByUrl(popupHiddenRegEx));
like image 2
Rodrigo Carvalho Avatar answered Nov 06 '22 02:11

Rodrigo Carvalho