2011-01-11 5 views
0

Je rencontre un problème pour trouver une fenêtre contextuelle dans un code de test sélénium. Je regarde l'écran sur le coureur de test et il y a deux fenêtres IE, l'une d'entre elles est la popup et l'une d'elles la page qui a généré le popup. Toutefois, la sélection de cette fenêtre avecImpossible de trouver la fenêtre contextuelle

SelectWindow("name=SomeName") 

échoue. Mettre un point de rupture là-bas et l'exécution de certains diagnostics montre que

GetAllWindowNames() 

ne retourne qu'une seule fenêtre. Très étrange. J'ai dupliqué le problème dans IE, chrome et firefox, donc je ne pense pas que ce soit spécifique au navigateur. J'utilise C# pour conduire mes tests. Une idée de comment je pourrais résoudre ce problème?

Edit:

Je regardai un peu plus sur la façon dont cette page crée en fait son pop-up par lui-même avec rechargeant window.open ajouté à son code. C'est plutôt une façon étrange d'ouvrir une popup mais je ne vois pas pourquoi elle n'est pas valide.

+0

Avez-vous essayé de sélectionner la fenêtre popup avec selectPopup ou waitForPopUp à la place? –

+0

Oui, ils arrivent juste à temps. – stimms

Répondre

0

Y a-t-il un titre ou un autre attribut dans le code source de la fenêtre contextuelle? Vous pouvez localiser cela en utilisant n'importe quelle information que vous trouvez là. Essayez d'enregistrer une fenêtre contextuelle ouverte dans Se IDE et cliquez sur quelque chose dans cette fenêtre contextuelle. Habituellement, cette astuce fonctionne.

0

IIRC, il existe certaines situations où SElenium ne parvient pas à enregistrer la fenêtre. Dans ce cas, vous pouvez tout de même enregistrer la fenêtre en utilisant openWindow ('',). Je pense que cela est décrit dans l'explication de openWindow dans Selenijum IDE ...

Questions connexes