Моя проблема в том, что я не могу получить простой тест WatiN, чтобы надежно работать на моей машине разработки под управлением Windows Server 2008 и IE8.Как вы получаете WatiN для работы на Windows Server 2008 с IE8?
Я видел пару хороших сообщений об этом, но у меня все еще есть проблемы. Вот сообщения:
Шаги в первой статье, казалось, чтобы помочь (закомментировать ":: 1" в файле мои хозяева, положить мой сайт (ы) в доверенных сайтах и убедитесь, что у моего app.config есть «STA» и установлен «copy if newer», но они не помогли надежно. Я попробовал код со второго примера, надеясь, что это поможет, но это не так. Я использую версию WatiN версии 2.0 бета 1.
My NUnit code lo oks как показано ниже:
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.");
}
То, что я вижу, это то, что иногда (хотя и редко) мой тест проходит. Иногда утверждение терпит неудачу (существует = ложь), иногда я получаю таймаут при попытке открыть браузер, а иногда я получаю сообщение об ошибке, пытающееся получить доступ к ссылке.
Ошибка доступа link.Exists выглядит следующим образом:
MyFixture.WaterThroughThePipes: System.Runtime.InteropServices.COMException: Неизвестный интерфейс. (Исключение из HRESULT: 0x800706B5)
Я не могу воспроизвести ошибку тайм-аута в настоящее время, так что я не могу представить, что в данный момент (хотя это случалось все время).
Я имею тенденцию видеть разные результаты при запуске в режиме отладки и не работает в режиме отладки.
Для чего Firefox 3.0.6 никогда не работал для меня. Я бы хотел, чтобы он работал, но IE должен работать независимо. Вот ошибка, которую я получаю с Firefox.
MyFixture (TestFixtureSetUp): WatiN.Core.Native.Mozilla.FireFoxException: Невозможно подключиться к серверу jssh, пожалуйста, убедитесь, что вы правильно установили jssh.xpi плагин ----> System.Net .Sockets.SocketException: соединение не может быть выполнено, потому что целевая машина активно отклонила его 127.0.0.1:9997
Любые идеи? Я действительно не хочу возвращаться к Селену (был там, сделал это), но мне, возможно, придется.
О, я также нашел разные результаты, если я выйти NUnit и вновь открыть его. Я также попробовал пару перезагрузок во время этого процесса, чтобы увидеть, помогло ли это (это не так). –
Можете ли вы попробовать его с помощью Internet Explorer 7? «Интерфейс неизвестен» предполагает, что, возможно, Watin еще не поддерживает IE8 - он определенно не был написан против него. Конечно, это просто (психическая отладка). Проблема с Firefox: вы установили расширение jssh? И вы тоже можете попробовать селен. – devdimi
Как только у вас установлен IE8, я не думаю, что вы можете вернуться в IE7 без установки новой ОС. Я уверен, что есть обходной путь, но это может быть рискованно ... Я могу посмотреть на это. Я не пробовал расширение jssh для Firefox, поскольку Firefox не был моим фокусом, но я, вероятно, дам этот снимок - спасибо за предложение. –