Архив метки: web

Проверка сайта на доступность с помощью Python

В таск-трекере приходит мне задача: «Разработать автоматизированные тесты для проверки важных ссылок на сайте».
«Отлично! Сейчас возьму selenium и наделаю тестов!», — подумал я.
Потом подумал еще.
Спросил программистов.
Скрипт будет запускаться на linux-сервере как по cron, так и, при особой необходимости, руками.
А надо ли тогда мне заморачиваться с этим селениумом, а потом программистам устанавливать его на сервере, если всего-то навсего нужно проверить статус страницы — или 200, или 301. Больше ничего и не требовалось.
За неделю до этого один из коллег-программистов нахваливал мне Python.

«Все это неслучайно! Сначала мне рекомендуют Питон, а теперь нужно написать скрипт. Google в руки — и вперёд!»

Быстрый гуглёж подсказал две полезные ссылки — собственно проверку url-а и доку в стиле «изучаем основы python за день».

Из этого получился вот такой скрипт из нескольких строк:

Читать далее

Драйвер для undefined термопасты

http://support.asus.com/download/download.aspx

На сайте поддержки Асуса предлагают в списке продуктов выбрать термопасту
драйвер для термопасты

Впрочем, и дальше там не все гладко. Выбираем продукт. Потом пытаемся выбрать серию:
серия undefined
Упс! нам предлагают только undefined. Похоже, список серий по какой-то причине не догружается: количество элементов в списке определено, а вот надписи почему-то не приходят. Ладно, берем первый попавшийся undefined (а термопасты у Asus аж четырех серий!) и пытаемся выбрать модель:

список моделей

Список моделей не грузится вообще. При этом высота списка такова, что в него не помещается даже один элемент, и появляется прокрутка. Которая тоже туда не помещается.

Эта проблема проявляется только в Опере, а в IE и FF список таки грузится.

Но наличие драйвера для термопасты это не отменяет:
драйвер для термопасты

Обновления сайтов

Задача: Есть сайт продукта. Время от времени необходимо его обновлять.
Процесс осложняется тем, что кроме чисто контентных страниц (описание продукта, документация, о компании и т. д.) существуют сервисные страницы:

  • скачивание продукта,
  • получение триального регистрационного ключа,
  • проверка обновлений,
  • запросы на получение скидок,
  • покупка продукта,
  • спецраздел для реселлеров со своими сервисами,
  • дополнительная информация, которая доступна только из desktop-продукта,
  • ...

При обновлении этого проекта было решено сделать 3-ступенчатую систему.
Существуют 3 версии сайта: dev, release, live.
Dev — активно разрабатываемая версия. Все данные — тестовые. Может чего-то не хватать, что-то может не работать. Активно тестируется конретная новая фича. После окончания разработки и тщательного тестирования новая функция добавляется в Release-версию.
Release — стабильная версия. Максимально приближена к live-версии продукта. Происходит интеграционное и регрессионное тестирование. После успешного прохождения тестов release-версия помещается в live.
Live — версия, находящаяся на «живом» сайте и используемая клиентами.

Такая «трехзвенная» система позволяет:

  • всегда иметь готовый к обновлению сайт с минимальными изменениями,
  • иметь возможность тестировать новые фичи без боязни все поломать