Как правильно протестировать виджет JavaScript? - PullRequest
6 голосов
/ 05 августа 2010

Итак, я написал небольшой виджет JavaScript. Все, что нужно сделать пользователю, это вставить тег скрипта на страницу, и прямо под ним я вставляю div со всем контентом, запрошенным пользователем.

Многие сайты делают похожие вещи, такие как Twitter, Delicious и даже StackOverflow.

Что меня интересует, так это то, как протестировать этот виджет, чтобы убедиться, что он будет правильно работать на всех веб-страницах. Я не использую iframe, поэтому я действительно хочу убедиться, что этот код будет работать при вставке большинства мест. Я знаю, что это выглядит одинаково во всех браузерах.

Предложения? Или я должен просто создать сотню веб-страниц и вставить свой скрипт скрипт и посмотреть, работает ли он? Я надеюсь, что есть более простой способ.

Ответы [ 3 ]

1 голос
/ 05 августа 2010

В самом начале вы должны убедиться, что ваш виджет работает для следующих тест-кейсов. Я уверен, что тогда он будет работать на всех веб-страницах -

  • http / https : не должно быть никаких предупреждений для страниц HTTPS для незашифрованного содержимого.
  • / : Что если JavaScript отключен? Ваш виджет все еще виден?
  • Что происходит, когда сторонние куки отключены? Ваш виджет все еще работает?
  • Ограничения Layout-box: Когда размер родительского элемента div меньше вашего виджета. Ваш виджет переполняет заданный размер и уничтожает страницу владельцев?
1 голос
/ 05 августа 2010

Как только вы подтвердите, что ваш javascript работает в кросс-браузерном режиме в контролируемой среде, вот некоторые вещи, которые могут вызвать проблемы при использовании на реальном веб-сайте:

CSS

  • Вы используете класс CSS, который уже используется (для другой цели) целевым веб-сайтом
  • Вы используете позиционирование, которое может повлиять на CSS сайта
  • Элементы, которые вы используете, стилизуются под CSS веб-сайта (вы можете использовать какой-то «сброс» CSS, который применяется только к вашему виджету)

HTML

  • Вы создаете элементы с тем же атрибутом id, что и элемент, который уже существует на сайте
  • Вы указываете атрибут name, который уже используется (хотя name можно использовать для нескольких элементов, вы можете этого не ожидать)

Javascript

  • Какое поведение ожидается без Javascript? Если ваш сценарий создает все, допустимо ли, чтобы ничего не присутствовало без JS?
0 голосов
/ 05 августа 2010

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

Аналогичный вопрос: Как избежать конфликта имен в виджетах JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...