2010-03-19 14 views
0

J'utilise HTTPWatch API d'automatisation pour lancer une nouvelle instance de Firefox comme ça:Impossible attachto navigateur Firefox 3.x en utilisant la méthode Browser.AttachTo <FireFox> dans Watin 2.0 RC1

HttpWatch.Controller ct = new HttpWatch.Controller(); 
HttpWatch.Plugin plugin = ct.FireFox.New(""); 
plugin.GotoURL("http://www.google.com"); 

Ces codes pourraient commencer une Navigateur Firefox avec succès. Ensuite, je veux contrôler le navigateur Watin 2.0:

FireFox ff = Browser.AttachTo<FireFox>(Find.ByTitle("Google")); 

Watin n'a pas pu trouver la fenêtre Firefox (plugin JSSH a été ajouté dans Firefox). Mais le même test sur IE 7 est ok.

J'ai même essayé d'ouvrir une fenêtre Firefox manuellement et de visiter la page google.com. WaitN dans IE7 pourrait se connecter au navigateur, mais Firefox a échoué.

Y at-il un problème avec mes codes? Ou tout autre conseil? Merci d'avance!

Voici la config pour mon environnement:

  • OS: Windows XP Pro SP2
  • Watin: 2.0 RC1
  • Navigateur: Internet Explorer 7, Firefox 3.0/3.5/3.6 avec le plugin JSSH

Répondre

1

Deux choses à vérifier:

d'abord le Browser.AttachTo d'appel semble être rompu dans la version 2.0 RC1 pour autant que je sache. Il peut être remplacer par quelque chose comme:

FireFox ff = (FireFox)Browser.AttachTo(typeof(FireFox),Find.ByTitle("Google")); 

Aussi, vous devez mettre à jour votre plugin JSSH si vous utilisez Firefox 3.6, celui fourni avec le binaire RC1 Watin 2.0 n'était pas compatible avec elle.

Il se trouve ici: http://wiki.openqa.org/display/WTR/FireWatir+Installation

+0

merci beaucoup pour ce lien –

0

Merci Vaudry, je mis à jour le plugin JSSH du site que vous avez donné pour faire correspondre Firefox3.6. Mais la fonction FireFox.AttachToFireFox() n'a pas pu être trouvée dans WatiN 3.0 RC1 et Beta1. J'ai utilisé la méthode attach fournie par HttpWatch pour contrôler le navigateur Firefox:

HttpWatch.Controller ct = new HttpWatch.Controller(); 
HttpWatch.Plugin plugin = controller.Firefox.Attach("Default"); 

Cela fonctionne! Mais .... la méthode attach fournie par HttpWatch ne fonctionne pas pour IE,

HttpWatch.Controller ct = new HttpWatch.Controller(); 
HttpWatch.Plugin plugin = ct.IE.Attach((SHDocVw.IWebBrowser2)ie.InternetExplorer); 

Au-dessus de code va lancer une exception comme ça:

Impossible de charger le fichier ou l'assemblage « Interop.SHDocVw, Version = 1.1.0.0, Culture = neutre, PublicKeyToken = db7cfd3acb5ad44e 'ou l'une de ses dépendances. La définition de manifeste de l'assembly située ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)

donc difficile de laisser Watin 2.0 et HttpWatch travailler ensemble ....

0

Une modification récente a rendu WatiN indépendant du navigateur et permet aux testeurs de créer un montage de texte de navigateur qui exécutera les tests sur le navigateur spécifié sans avoir à le coder spécifiquement en ligne.

Je posterai quelque chose d'un peu plus précis une fois que je trouverai le code; J'ai changé d'affectation et maintenant je travaille avec TFS 2010 au lieu de WatiN (pas mon choix, j'aime WatiN!).