2014-04-23 2 views
0

Nous utilisons Watin pour automatiser les tests de site Web et essayer d'implémenter ce qui suit: Cliquez sur un bouton pour faire apparaître popup, cliquez sur le bouton Générer dans la fenêtre contextuelle pour générer le fichier. Nous n'avons pas pu obtenir la fenêtre popup en utilisant watin. ERREUR: "Impossible de trouver une contrainte de correspondance de la fenêtre IE: L'attribut" href "correspond à" Régénérer "La recherche a expiré après" 30 "secondes." S'il vous plaît donner un indice sur ce qui a mal tourné. Votre aide serait très appréciée.Watin AttachTo popup

L'extrait de code comme ci-dessous:

ieInstance.Button(Find.ByName(Button1)).Click();    
    ieInstance.WaitForComplete(); 
    var popupUrl = new Regex("Regenerate"); 
    //part of popup URL: "RegenerateDialog.aspx?Type=" 
    var popupBrowser = Browser.AttachTo<IE>(Find.ByUrl(popupUrl)); 
    if (popupBrowser != null) 
     popupBrowser.Button(Find.ById("RegenerateDialogBtn")).Click(); 

Le code fenêtre ci-dessous:

function ShowEXPFileWindow(Type) 
{ 
//do some stuff 
var oWnd = window.radopen("RegenerateDialog.aspx?Type=" + Type,        "RegenerateDialog"); 
      oWnd.set_title(""); 
      oWnd.center(); 

} 

HTML pour afficher la fenêtre pop-up:

<td><input type="submit" name="ctl00$Body$ConfigRadGrid" value="Regenerate" onclick="ShowEXPFileWindow('OD'); return false;" class="submit" /></td> 

Répondre

0

Au lieu de

ieInstance.Button(Find.ByName(Button1)).Click(), use 
ieInstance.Button(Find.ByName(Button1)).ClickNoWait() 

et vérifiez. Est-il possible de poster l'image de la fenêtre pop-up? ou lorsque vous cliquez sur le bouton, quel contrôle est sélectionné par défaut? Si c'est «Régénérer», essayez d'appuyer sur la touche «Entrée» et vérifiez.

La fenêtre pop est une autre fenêtre IE? Si oui, l'attacher en utilisant

Find.ByUrl(url => url.Contains(expectedURL))