Поддержка Watin для IE 9 — часть 2 (конкретная)

Версия среды выполнения Watin: v2.0.50727 Браузер: IE 9

Я обнаружил конкретную проблему: BaseIEController.IE.Element(fieldname).Exists создает исключение, как показано ниже: "Невозможно найти элемент, поскольку средство поиска элементов недоступно".

Имя поля здесь представляет собой регулярное выражение для ссылки, простое регулярное выражение, в котором передается идентификатор ссылки. Это работает с IE 8.

Я не могу использовать окончательный выпуск Watin 2.0, так как LogonHandler не завершен (не полностью функционален, как указано в документе о выпуске. Я также пытался его протестировать).

Любая идея о том, как я могу заставить этот элемент работать ??

Спасибо, К


person DrunkenMonkey    schedule 21.03.2011    source источник


Ответы (2)


Сегодня я обновился до IE9 в своей системе Windows 2008 и запустил все 745 юнит-тестов WatiN 2.x и не обнаружил проблем (за исключением одного диалога, обрабатывающего диалог javascript::return, запущенный событием onbeforeunload).

Дайте мне знать, если у вас есть более конкретная информация/пример кода также поможет воспроизвести проблему, о которой вы сообщили.

Jeroen Ведущий разработчик WatiN

person Jeroen van Menen    schedule 21.03.2011
comment
В моем ответе было большое содержание, поэтому я разместил его как ответ выше. Я также добавил 2 комментария к нему. Пожалуйста, смотрите сообщение выше - person DrunkenMonkey; 22.03.2011
comment
Получил последнюю версию Watin (я думаю, 2.1), и теперь он работает с IE9. У меня все еще есть проблемы с доступом к выбранному элементу раскрывающегося списка (вызванному как новый запрос). Но этот вопрос теперь решен. - person DrunkenMonkey; 27.04.2011

Спасибо за ответ. Во-первых, потрясающая работа с Watin :)

Я пытаюсь запустить тест, используя VS2008 и IE 9. Цель состоит в том, чтобы щелкнуть ссылку, но перед этим я проверяю, существует ли ссылка. Регулярное выражение, которое я использую для этой ссылки: LnkSignIn = new Regex(".*linkSignIn$"); Затем я использую BaseIEController.IE.Element(fieldname).Exists, где fieldname — это ограничение атрибута (в данном случае регулярное выражение). Это вернет true или false, если ссылка будет найдена. Если найдено, я нажимаю на ссылку. Вместо этого он возвращает исключение Error MyTestInitialize. WatiN.Core.Exceptions.WatiNException: WatiN.Core.Exceptions.WatiNException: Невозможно найти элемент, потому что средство поиска элементов недоступно... в WatiN.Core.Element.WaitUntilExistsOrNot(тайм-аут Int32, логическое значение waitUntilExists)... Это отлично работает с IE 8. Кроме того, я заметил, что если я изменяю Element на Link, он возвращает true. Но поскольку это общий метод, я хочу сохранить его как элемент. Надеюсь это поможет. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Спасибо.

person DrunkenMonkey    schedule 22.03.2011
comment
Поскольку LogonHandler не завершен в финальном выпуске Watin 2, я не могу использовать его для запуска своих тестов. Но что интересно, когда я его использую, я получаю следующее исключение, как только начинается мой тест: System.IO.FileNotFoundException: System.IO.FileNotFoundException: Не удалось загрузить файл или сборку «WatiN.Core, версия = 2.0.12.0, культура =neutral, PublicKeyToken=db7cfd3acb5ad44e' или одна из его зависимостей. Системе не удается найти указанный файл.WRN: ведение журнала привязки сборки отключено. - person DrunkenMonkey; 22.03.2011
comment
Кстати, с IE8 я могу заставить LogonHandler работать. Я использую Watin v2.0.50727 и вроде нормально. Проблема заключается в использовании IE 9. Дайте мне знать, если вам нужна дополнительная информация. - person DrunkenMonkey; 22.03.2011
comment
Пожалуйста, отредактируйте свой первоначальный вопрос, чтобы добавить больше информации вместо добавления ответа. - person Malte Clasen; 14.05.2011