Il mio problema è che non riesco a ottenere un semplice test WatiN per funzionare in modo affidabile sul mio computer di sviluppo che esegue Windows Server 2008 e IE8.Come si fa a far funzionare WatiN su Windows Server 2008 con IE8?
Ho visto un paio di messaggi positivi su questo, ma ho ancora problemi. Qui ci sono i posti:
Le fasi del primo articolo sembravano aiutare (commentate ":: 1" nel file i miei ospiti, mettere il mio sito (s) in siti attendibili e assicurandosi che il mio app.config abbia "STA" ed è impostato su "copia se più recente", ma non sono stati di aiuto in modo affidabile. Ho provato il codice del secondo esempio sperando che sarebbe stato utile, ma non lo è stato. Sto usando WatiN versione 2.0 beta 1.
My NUnit code lo oks like the following:
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.");
}
Quello che vedo è che a volte (anche se raramente) passa il test. A volte l'asserzione fallisce (esiste = false), a volte ho un timeout quando provo ad aprire il browser, ea volte ho un errore nel tentativo di accedere a link.Exists.
L'errore durante l'accesso link.Exists assomiglia:
MyFixture.WaterThroughThePipes: System.Runtime.InteropServices.COMException: L'interfaccia è sconosciuto. (Eccezione da HRESULT: 0x800706B5)
io non riesco a riprodurre l'errore di timeout ora quindi non posso prevedere che al momento (anche se questo accadeva tutto il tempo).
Tendo a vedere risultati diversi quando si esegue questo in modalità di debug rispetto a non in esecuzione in modalità di debug.
Per quello che vale, Firefox 3.0.6 non ha mai funzionato per me. Mi piacerebbe, ma ho bisogno di IE per lavorare a prescindere. Ecco l'errore che ottengo con Firefox.
MyFixture (TestFixtureSetUp): WatiN.Core.Native.Mozilla.FireFoxException: Impossibile connettersi al server di jssh, si prega di assicurarsi di aver correttamente installato il plugin jssh.xpi ----> System.Net .Sockets.SocketException: Nessuna connessione può essere effettuata perché il computer di destinazione lo ha rifiutato attivamente 127.0.0.1:9997
Qualche idea? Non voglio davvero tornare al Selenio (sono stato lì, fatto così), ma potrei doverlo fare.
Oh, ho anche trovato risultati diversi se esco NUnit e riaprirlo. Ho anche provato un paio di riavvii durante questo processo per vedere se ha aiutato (non è stato così). –
Puoi provarlo con Internet Explorer 7? "L'interfaccia è sconosciuta" suggerisce che forse Watin non supporta ancora IE8 - certamente non è stato scritto contro di esso. Di certo questa è solo una supposizione (debugging psichico). Problema di Firefox: hai installato l'estensione jssh? E potresti provare anche il selenio. – devdimi
Una volta installato IE8, non penso che si possa tornare a IE7 senza installare un nuovo sistema operativo. Sono sicuro che ci sia una soluzione alternativa, ma potrebbe essere rischioso ... Potrei esaminarlo. Non avevo provato l'estensione jssh per Firefox dato che Firefox non era il mio obiettivo, ma probabilmente lo farò, grazie per il suggerimento. –