Ошибка Watin 2.1 с Firefox 3.6 ContainsText и jssh - PullRequest
0 голосов
/ 07 мая 2011

У меня были проблемы с использованием Firefox с Watin 2.0 и последней версией 2.1.

  • FireFox: 3.6.17
  • Watin: 2.1.0.1196
  • Gallio/ mbUnit: 3.2.601
  • 32-битная сборка Windows Server 2008
  • .NET 4.0
  • Visual Studio 2010

Я ознакомился с этими инструкцияминесколько раз: http://watin.org/documentation/setting-up-firefox/

Я зашел в Firefox, Файл-> Открыть, перешел к файлу: jssh-3.6-WINNT.xpi

УстановилXPI в Firefox без каких-либо проблем.

Несколько вещей работают хорошо в FF с Watin.Поиск текстовых полей, TypeText, Click, все, что работает.Но эта строка кода взрывается:

Assert.IsTrue (theBrowser.ContainsText (validationText), «В результатах не найден список« {0} ».», ValidationText);

См. Ниже об ошибке.Есть идеи, что я сделал не так?

WatiN.Core.Native.Mozilla.FireFoxException: Error sending last message to jssh server: SyntaxError: missing ) after argument list
C:\QEDev\tools\WatiN\source\src\Core\Native\Mozilla\FireFoxClientPort.cs(422,0): at WatiN.Core.Native.Mozilla.FireFoxClientPort.CheckForError(String response)

1 Ответ

0 голосов
/ 13 мая 2011

Другой пользователь здесь, на StackOverflow, ответил на этот вопрос в отдельной теме. Вот один из обходных путей:

  • Подкласс на основе класса Ватина Firefox
  • Переопределить метод ContainsText
  • Используйте HTML Agility Pack , чтобы загрузить документ и вызвать метод Contains.

Казалось, какое-то время это работало нормально. На других компьютерах я видел ту же ошибку JSSH, что и раньше.

public override bool ContainsText(string text)
{
    WaitForComplete();

    var htmldoc = new HtmlDocument();
    htmldoc.LoadHtml(Html);

    bool result = htmldoc.DocumentNode.InnerText.Contains(text);

    return result;
}
...