Перейти к содержимому

Фотография

Автоматический отлов ошибок JavaScript


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 21 октября 2008 - 16:37

Всем привет!

Хотелось бы поднять тему автоматического отлова JavaScript-ошибок с помощью Selenium.
Постановка задачи примерно такая: есть тесты, написанные на Java (выполняются соответственно через Selenium RC), необходимо сделать некую докрутку к Selenium так, чтобы на всех страницах во время прогона тестов автоматически проходила проверка на наличие JavaScript'овых ошибок.

Кажется всё достаточно просто, Selenium Core написан полностью на JavaScript, а соответственно вешаем свой JS-обработчик ошибок, который будет их заносить в массив, и в тестах проверяем этот массив. Но не тут-то было, Selenium получает контроль над страницей уже после onLoad, а ошибки могли быть и до этого момента.

Сейчас пытаюсь проверить несколько идей как 100%-но отлавливать все ошибки, но наверняка многие из форумчан уже делали нечто подобное, поделитесь плз идеями.
  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 22 октября 2008 - 14:41

Мдаа, пока ни одного ответа.
В общем похоже, что придётся вешать слушатель ошибок (addEventListener) в самом тестируемом сервисе, а уже в тестах проверять наличие ошибок.
  • 0

#3 ivk

ivk

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Igor Kryltsov
  • Город:Sydney, Australia

Отправлено 18 ноября 2008 - 13:04

Did not you think of using JSLint on server like described here.
You can output JSLint output instead of page, screenshot it and record it in log.

I wouldn't do it on live systems but you can control it (enable while under test and disable on live systems) by just commenting it out in a common include file. Right?

Igor Kryltsov
  • 0

#4 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 19 ноября 2008 - 09:47

Did not you think of using JSLint on server like described here.

Посмотрел, возможности достаточно интересные, но сразу смутило то, что работает только под Windows и Mac... Спасибо, посмотрю поподробнее что там внутри.
  • 0

#5 ivk

ivk

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Igor Kryltsov
  • Город:Sydney, Australia

Отправлено 19 ноября 2008 - 12:00

Посмотрел, возможности достаточно интересные, но сразу смутило то, что работает только под Windows и Mac... Спасибо, посмотрю поподробнее что там внутри.


1. JS include files can be checked by JSLint and PHP by Code_Sniffer before Selenium to make sure syntax and coding standards are fine.

My link points to a way to check JS after is was build by PHP into HTML but before it was sent to browser. You are right you will not test it inside browser. This is to check JS which is embedded into PHP code - this can not be checked with step 1.

Can you post page sample with what you want to catch? Something which is fine in one browser but brakes another one when loaded into it?
I will check it with Lint before sending to browser and think on how to catch it in browser if JSlint will not.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных