Pull to refresh
  • by relevance
  • by date
  • by rating

DeleteFB: скрипт для удаления всех своих записей на стене Facebook

Information Security *Open source *Python *Google Chrome Social networks and communities
Есть несколько сторонних приложений, которые позволяют удалить все свои публичные записи Facebook, однако все они требуют ввода учётных данных и не очень надёжны в других отношениях, считает разработчик Уэсли Керфут, который выпустил автономный скрипт DeleteFB для удаления всех публичных постов Facebook.

Скрипт работает на базе Selenium — инструмента для автоматизации действий веб-браузера. Это уменьшает вероятность, что Facebook заблокирует его, активирует троттлинг на полосе или иным способом помешает действиям скрипта, говорит автор.
Total votes 8: ↑8 and ↓0 +8
Views 3.8K
Comments 10

Как спарсить любой сайт?

JavaScript *Data Mining *Big Data *Open data *Web services testing *
Tutorial

Меня зовут Даниил Охлопков, и я расскажу про свой подход к написанию скриптов, извлекающих данные из интернета: с чего начать, куда смотреть и что использовать.

Написав тонну парсеров, я придумал алгоритм действий, который не только минимизирует затраченное время на разработку, но и увеличивает их живучесть, робастность и масштабируемость.

Узнать как
Total votes 60: ↑51 and ↓9 +42
Views 18K
Comments 59

Десять преимуществ Unobtrusive Javascript

JavaScript *
Это дополнение к отличной предыдущей (более практической) статье про ненавязчивый яваскрипт. Вкратце, я хочу сказать, что способность работы при выключенном JS это только видимая верхушка айсберга и, быть может, не главная цель. Есть много других преимуществ использования этого подхода. Под катом вы найдете список с пояснениями (плюс немного примеров хороших js-компонент в конце).
Читать дальше →
Total votes 33: ↑26 and ↓7 +19
Views 3.4K
Comments 28

Инструменты инфраструктурной поддержки для Agile проекта на Java

Creative Media corporate blog
Ни для кого не секрет, что для слаженной работы команды, особенно в проектах управляемых по методологии Agile, важен эффективный обмен информацией между участниками. Для того, чтобы информационные потоки не разрушались под влиянием человеческого фактора, стандартные процедуры по управлению информацией автоматизируются. В данной статье рассмотрен пример технической инфраструктуры, использующейся сотрудниками компании ООО «Креатив Медиа» при разработке Web-проектов на платформе Java, например, в проекте социальной сети Campus.ru.
Читать дальше →
Total votes 37: ↑31 and ↓6 +25
Views 15K
Comments 31

Firefox как браузер по умолчанию при разработке веб-приложений

Lumber room
Недавно уважаемый akakunin опубликовал топик "Firefox становится дефолтовым браузером", в котором цитировал сообщение, появляющееся при заходе в консоль недавно выпущенного сервиса Spring Source Cloud Foundry: «The browser that you are using is not supported by Cloud Foundry. You may continue to explore using this browser, but many features and layout elements will not work or display properly. We recommend that you use FireFox 3.0+ for Cloud Foundry.» Из этого факта он, да и народ в комментариях стал задумываться о тенденции.

На самом деле, объяснение такой тенденции довольно простое, и состоит оно из двух названий продуктов: FireBug и Selenium.

FireBug — это то, что хоть как-то мирит меня с миром Ajax. Без него я себе разработку Ajax-приложений просто не представляю. Да, в новой Опере есть DragonFly, но ПМСМ с ним тяжелее работать.

Selenium — если кому-то из разработчиков веб-приложений надо объяснять, что это такое, мне искренне жаль этих людей :) В принципе, правильно организованный процесс разработки в сочетании с использованием Selenium позволяет обходиться без живых тестеров. А если ваше приложение написано на Spring framework, то можно использовать umangite — библиотеку, делающую конфигурацию Selenium-а для вашего приложения делом достаточно тривиальным. На линуксе Selenium работает тоже только с Firefox (по крайней мере, до недавнего времени). Да и на Винде, насколько я знаю, Firefox дружить с Selenium-ом лучше всех.

В-общем, получается, что Firefox — единственный браузер, в котором можно быть уверенным, что он будет отображать ваше приложение так, как задумано.
Total votes 30: ↑16 and ↓14 +2
Views 521
Comments 19

Сross-browser Selenium tests — миф или реальность?

Lumber room
Ответ не однозначен, но напрашивается таки вывод, что Selenium не оправдывает возлагаемые на него надежды. К счастью, можно возлагать те самые надежды на то, что вскоре появится новая версия, которая нас порадует. Именно это обещают на официальном блоге.

Итак, суть вопроса ...
Total votes 5: ↑1.5 and ↓3.5 -2
Views 1.2K
Comments 14

Тестирование Django приложений с помощью Selenium

Django *


Selenium


Selenium — это очень удобный (имхо) инструмент для тестирования веб-приложений.

Тесты создаются с помощью дополнения для Firefox, которое может генерировать код теста на различных языках, в том числе и на Python. Затем эти тесты выполняются специальным сервером, Selenium RC.

Сам по себе Selenium не привязан ни к языкам ни к фреймворкам, поэтому чтобы интегрировать его в систему тестирования Django-приложений, нужно приложить очень небольшие усилия.

Для решения задачи интеграции я буду использовать библиотеку Django: Sane Testing. Это библиотека, расширяющая возможности стандартной системы тестирования Django, в том числе и поддержкой тестов Selenium.
Читать дальше →
Total votes 56: ↑42 and ↓14 +28
Views 6.3K
Comments 16

Функциональное тестирование веб-приложений без боли

IT systems testing *
Sandbox
Иногда в жизни бывает так — вот ждёшь, ждёшь чего-то, изучаешь теорию по данному вопросу, рассматриваешь разные подходы к решению, дискутируешь с такими же ищущими как ты, внимаешь гласу признанных гуру, но не продвигаешься дальше ни на дюйм. Потом бросаешь, забываешь вообще об этом вопросе, занимаешься другими делами, и вдруг — на тебе, всё встало на свои места, из разрозненных элементов сложилась чудесная мозаика, нагрянуло просветление, а волосы вдруг стали густыми и шелковистыми.
Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Views 35K
Comments 19

Selenium: ожидание завершения всех AJAX-запросов

IT systems testing *
Sandbox
В последнее время развелось очень много различных AJAX-приложений. По сути автоматизация тестирования такого приложения не отличается от автоматизации тестирования обычного WEB-приложения, но есть несколько тонкостей. Одна из тонкостей — это как раз ожидание завершения всех AJAX-запросов. Например, если отметка некого checkbox'а на странице вызывает обновление какого-нибудь select'a по AJAX-запросу, то тест, который сразу после отметки выбирает конкретный option, свалится, т.к. этого option'a там не будет. А всё потому, что сам тест выполняется намного быстрее чем AJAX-запрос на обновление списка.

В данном случае у автоматизатора есть несколько выходов.
Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Views 34K
Comments 8

DevPoint: Selenium в тестировании веб-приложений

Юнивеб corporate blog
Что делать когда:
  • Достался хард-кодный проект непокрытый тестами;
  • код желает лучшего, а времени на рефакторинг нет;
  • внесение правок в одном месте нарушает работу логики в другом;
  • для покрытия *Unit тестами, проще переписать проект;
  • бизнес логика размыта по коду и даже по шаблонам.

Забить и оправдываться, что такой код не должен жить?

С такими ситуациями очень часто сталкивался и меня это не устраивало. При поиске подходящего метода/инструмента тестирования я наткнулся на Selenium. И применяю его уже более 3-х лет.

В Киеве 9-го апреля прошла конференция DevPoint, посвященная web — разработке. Организатором данного мероприятия была компания Uniweb. В рамках ее, решил поделиться впечатлением про Selenium.
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 41K
Comments 3

Slash и backslash: вехи на пути

IT systems testing *
Sandbox

Немного истории


Slash

Возникновение слеша относят к временам Римской империи. На ранних стадиях современности, во Фрактуре [1], которая была широко распространена по всей Европе в средневековье, слеш (/) использовался вместо запятой, в то время как двойной слеш (//) использовался вместо тире. Двойной слеш, в конечном счете, превратился в символ похожий на знак равенства (=), а позже был еще больше упрощен до тире или дефиса [2].
Читать дальше →
Total votes 43: ↑39 and ↓4 +35
Views 19K
Comments 18

Консольный cucumber и capybara при помощи Selenium и Hudson

IT systems testing *
Translation
В наши дни разработчики ПО не могут прожить без их любимых тестовых фреймворков. Но вот чего разрабочики не хотят — так это обеспечивать постоянный запуск этих тестов. Также, команды разработчиков не хотят тратить время на доведение результатов теста до всех.

Появляется все больше и больше полезных приложений, библиотек и плагинов, которые частично облегчают головную боль, возникающую в ходе попыток сделать тесты полезными для всей команды. Примерами прекрасных инструментов, которые есть в нашем распоряжении, могут быть Hudson для непрерывной интеграции, Cucumber для интеграционных тестов и Selenium для автоматизированного тестирования веб-приложений в реальном браузере. Но организация совместной работы всего этого требует все больше и больше настроек и конфигураций на сборочном сервере.

Наша цель — задокументировать шаги, требуемые для преодоления встречающихся препятствий на пути к запуску полного набора тестов Cucumber со сценариями на Selenium на сборочном сервере Hudson.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 3.9K
Comments 8

Интеграция Django и Selenium

Django *


Всем привет.

Ни для кого не секрет что тестирование приложений является важным этапом разработки ПО, а если вы разрабатываете веб-приложения, то вам просто необходимо тестировать веб-интерфейс. К счастью, для этой цели существует такой инструмент как Selenium. Небезызвестные на хабре компании СКБ Контур и Яндекс уже выбрали его как инструмент функционального тестирования своих приложений и сервисов (Яндекс рассказывал об этом на недавно прошедшей YaC).

Теперь к делу.
В одном из проектов, над которым я работаю, мы использовали Selenium начиная еще с первой ветки. Но время не стоит на месте, вышел Selenium 2.0, основанный на технологии webdriver, более функциональный, удобный, и правильно имитирующий события в браузере (подробнее о преимуществах).

Чтобы не заниматься обновлением старого кода поддержки Selenium внутри нашего приложения (а вдруг это придется делать еще и не один раз?), а также чтобы попробовать сделать что-то полезное для других разработчиков, мы решили сразу вынести интеграцию с Selenium в отдельную библиотеку.
Что из этого вышло
Total votes 50: ↑45 and ↓5 +40
Views 6.3K
Comments 16

Автоматизация Flex-приложений при помощи Java + Selenium + FlexMonkium

IT systems testing *
В этом посте я опишу свои исследования, которые мне пришлось проделать, когда на проекте стал вопрос об автоматизации тестирования. Проект представляет собой веб-сайт, клиентская часть которого написана на Flex, а серверная — на Python(Django).

Выбор средств для автоматизации

Для начала рассмотрим путь от начала, который я прошел, прежде чем остановился на связке Java + Selenium + FlexMonkium. А это:

  • Selenium + Sfapi
  • Ranorex
  • FlexMonkey
  • Selenium + FlexMonkium

Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 7.5K
Comments 7

Ускоряем Selenium-тесты

IT systems testing *
Sandbox
Все, кто использует Selenium тесты в своём билде, знают, что это достаточно дорогое удовольствие, потому что очень медленно. Из-за этого многие не запускают билд полностью перед коммитами или, вообще, запускают билд только по ночам. Итак, делаем наши тесты быстрее.
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Views 23K
Comments 13

Selenium: работаем с элементами страницы, используя @FindBy и PageFactory

IT systems testing *
В этой статье будет рассмотрена возможность использования аннотации @FindBy для поиска элементов на странице, а так же создание своих классов для работы с элементами и контейнерами вроде форм, таблиц и т.д.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 88K
Comments 4

О тесте печальном

AlterGeo corporate blog
О том, что тестировать — нужно, важно и полезно знают, кажется, все. В этом посте мне бы хотелось пробежаться по тем моментам, которые делают наше тестирование нужным, важным и полезным.

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

Тестер за работойКоротко:
  • Покрытие кода unit-tests
  • Selenium
  • Автоматическое тестирование
  • Подробное декларирование каждой ошибки
  • Еженедельный анализ и оценка обнаруженных багов
  • Синхронизация с Acunote


Читать дальше →
Total votes 27: ↑20 and ↓7 +13
Views 9.8K
Comments 11

Codeception — тестирование по-новому

PHP *
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Total votes 75: ↑70 and ↓5 +65
Views 83K
Comments 68

HowTo: continuous integration Django в Jenkins с помощью Selenium

Django *
Это шпаргалка раскрывающая раздел «Интеграция Selenium тестов» статьи Настройка Jenkins для django проекта с нуля. А именно как запускать Selenium тесты на удалённом сервере Jenkins у которого нет монитора и форточек.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Views 6.1K
Comments 8