Существует ли независимый от браузера способ обнаружения ошибок сценариев на стороне клиента с помощью Watin? - PullRequest
8 голосов
/ 16 февраля 2010

Мы используем WatiN для тестирования наших веб-порталов. В ходе теста E2E мы иногда будем видеть ошибки скрипта на стороне клиента в строке состояния IE. Я хотел бы связать обработчик с событием ошибки скрипта и записать ошибку для последующего анализа и регистрации ошибок.

Проблема в том, что я не знаю, есть ли глобальное событие ошибки скрипта или как в него попасть. И если для этого нет независимого от браузера способа, я могу создать подклассы MyIE и MyFF, но тогда это станет двумя специфичными для браузера вопросами.

По сути, я думаю о чем-то вроде этого полностью выдуманного звонка:

browser.ScriptEngine.SetCustomErrorHandler(LogScriptingError);

... где LogScriptErrors - мой код, который делает очевидное.

Многие из наших ошибок сценариев на стороне клиента не обязательно препятствуют продолжению теста (например, красивый элемент пользовательского интерфейса не анимировал, но базовая форма все еще может быть отправлена), поэтому я хотел бы записать ошибка и продвигаться вперед в большинстве случаев.

Ответы [ 2 ]

1 голос
/ 09 апреля 2010

Вы, наверное, ищете это:

window.onerror=function(message, url, line){logError();};

Вы можете добавить этот код на свои страницы для обработки ошибок в logError (). но это может не работать во всех браузерах (работает в IE), проверьте это на совместимость браузера:

http://www.quirksmode.org/dom/events/error.html

Или вы можете попробовать этот коммерческий продукт:

exceptionhub.com /

0 голосов
/ 27 марта 2010

Вы можете использовать возможность ввести eval-код (описанный в разделе «Добавленные функции Eval»), чтобы добавить сценарий, который перехватывает все ошибки, а не только ошибки из сценария eval'ed. Я не уверен, что это сработает, но это область для изучения. Другим ресурсом может быть это сообщение в блоге , в котором обсуждается, как оценивать Javascript в WatiN.

...