Mon problème est que je ne peux pas obtenir un test WatiN simple pour travailler de manière fiable sur ma machine de développement qui exécute Windows Server 2008 et IE8.Comment WatiN fonctionne-t-il sous Windows Server 2008 avec IE8?
J'ai vu quelques bons commentaires à ce sujet, mais j'ai toujours des problèmes. Voici les messages:
Les étapes du premier article semblaient aider (en commentaire ":: 1" dans mon fichier Hosts, mettre mon site (s) Dans les sites de confiance, et en m'assurant que mon app.config a "STA" et est mis à "copier si plus récent", mais ils n'ont pas aidé de manière fiable. "J'ai essayé le code du deuxième exemple en espérant que cela aiderait mais pas. J'utilise WatiN version 2.0 beta 1.
Mon code NUnit lo oks comme ce qui suit:
protected Browser Browser { get; set; }
[TestFixtureSetUp]
public void SetupPriorToTestsInThisFixture()
{
Browser = new IE();
Browser.GoTo(Constants.SiteCollectionUrl);
}
[TestFixtureTearDown]
public void TearDownAfterTestsInThisFixture()
{
if (Browser != null)
{
Browser.Dispose();
}
}
[Test]
public void WaterThroughThePipes()
{
Link link = Browser.Link(Find.ByText("Calendar"));
bool exists = link.Exists;
Assert.That(exists, Is.True, "Could not find 'Calendar' link.");
}
Ce que je vois est que parfois (quoique rarement) mon test passe. Parfois l'assertion échoue (exists = false), parfois j'obtiens un timeout en essayant d'ouvrir le navigateur, et parfois j'obtiens une erreur essayant d'accéder à link.Exists.
L'erreur d'accès à link.Exists ressemble:
MyFixture.WaterThroughThePipes: System.Runtime.InteropServices.COMException: L'interface est inconnue. (Exception de HRESULT: 0x800706B5)
Je ne peux pas sembler reproduire l'erreur de délai d'attente, je peux maintenant afin de ne pas prévoir que, au moment (bien que ce qui se passait tout le temps).
J'ai tendance à voir des résultats différents lors de l'exécution de ce mode de débogage par rapport à ne pas s'exécuter en mode débogage.
Pour ce que ça vaut, Firefox 3.0.6 n'a jamais fonctionné pour moi. Je voudrais, mais besoin de IE pour fonctionner indépendamment. Voici l'erreur que je reçois avec Firefox.
MyFixture (TestFixtureSetUp): WatiN.Core.Native.Mozilla.FireFoxException: Impossible de se connecter à jssh serveur, s'il vous plaît assurez-vous que vous avez correctement installé le plugin jssh.xpi ----> System.Net .Sockets.SocketException: Aucune connexion n'a pu être établie car la machine cible l'a refusée 127.0.0.1:9997
Des idées? Je ne veux vraiment pas retourner à Selenium (été là, fait cela), mais je dois le faire.
Oh, j'ai aussi trouvé des résultats différents si je quitte NUnit et re-ouvrir. J'ai également essayé quelques redémarrages pendant ce processus pour voir si cela a aidé (ce n'est pas le cas). –
Pouvez-vous l'essayer avec Internet Explorer 7? "Interface is unknown" suggère que peut-être Watin ne supporte pas encore IE8 - il n'a certainement pas été écrit contre. De court ceci est juste une conjecture (débogage psychique). Problème Firefox: avez-vous installé l'extension jssh? Et vous pouvez essayer le sélénium aussi. – devdimi
Une fois IE8 installé, je ne pense pas que vous puissiez revenir à IE7 sans installer un nouveau système d'exploitation. Je suis sûr qu'il y a une solution de contournement, mais cela pourrait être risqué ... Je peux me pencher là-dessus. Je n'avais pas essayé l'extension jssh pour Firefox puisque Firefox n'était pas mon objectif, mais je vais probablement donner un coup de feu - merci pour la suggestion. –