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

Автор и ведущий блога: Алексей Баранцев

В связи с тем, что в проекте Selenium мы постепенно мигрируем с одного "нетрадиционного" сборщика (crazy-fun) на другой (buck) у меня возник вопрос -- а много ли ещё людей, использующих "нетрадиционные" сборщики? Расскажите, какие именно, и почему предпочли их "стандарным" типа ant или maven?

Примите участие в опросе в фейсбуке или в форуме.

Одна из проблем, которая мешала нам выпустить релиз Selenium 2.46, была связана с тестовым стендом. По непонятной причине тесты в браузере Firefox 38 на операционной системе Linux выполнялись примерно в пять раз медленнее, чем в других версиях браузера или в других операционках.

Видите вот эту "жёлтую скалу":

Вот это она и есть, та самая проблема.

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

А потом решили попробовать старинный дедовский способ -- обновили браузер с версии 38.0.1 до 38.0.5 -- и всё как рукой сняло.

Вот что это было, а?

На фронте борьбы с Internet Explorer на этой неделе случился небольшой технологический прорыв: Jim Evans переделал механизм получения cookies, теперь Selenium умеет не только извлекать их через интерфейс браузера, но и загружать cookies из файлов, куда их сохраняет браузер.

Это даёт возможность во-первых, получить доступ к тем cookies, у которых стоит флаг httpOnly, и которые раньше были недоступны в Internet Explorer. А во-вторых, таким способом удаётся получить больше информации про cookies, в частности, дату "протухания" (expiration date).

Правда, некоторые ограничения всё равно остались -- браузер сохраняет в файлы только так называемые "персистентные" cookies, а ещё бывают "сессионные", их браузер не сохраняет в файлы или сохраняет частично, и надёжного способа получить сессионные cookies с флагом httpOnly, увы, пока не найдено.

P.S. Картинка с печеньками утащена отсюда.

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

Небольшой спойлер: в рассказе присутствуют не только автотесты, но также танцующие девочки и голые мужики :)

Компания Facebook выложила в открытый доступ (и с открытым кодом) новый инструмент для статического анализа кода Infer. Он умеет находить потенциальные баги в коде на Objective-C, Java и C.

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

Казалось бы, причём тут Selenium? При том, что он (хотя и не только он, конечно) выступал в качестве "подопытного кролика" при тестировании Infer.

И оказалось, что код Selenium написан весьма неплохо, мы даже сами удивились.

Selenium -- он не только снаружи, но и внутри хороший :)

20 июня на встрече московского клуба тестировщиков буду рассказывать о том,

"Как выращивать автотесты"

Если почитать какую-нибудь книжку про разработку автотестов или просто погуглить по словам "successful test automation" -- можно найти множество разнообразных рекомендаций. Выбирайте правильно инструмент. Проектируйте и выстраивайте правильную архитектуру тестов. Уделяйте внимание тому, чтобы тесты было легко поддерживать. Не забывайте про планирование и управление (вообще-то это надо было бы поставить первым пунктом).

Но когда вы только приступаете к созданию автотестов -- вы ещё не знаете ничего ни про инструменты (насколько хорошо они вам подойдут), ни про архитектуру, да и управлять ещё нечем. Планировать в условиях такой неопределённости тоже сложно.

Что же делать?

Вы когда-нибудь выращивали цветы? Комнатные, или на клумбе, или может быть даже не цветы, а кусты или деревья?

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

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

Однако есть и другой путь -- "органический". Сначала посадить один цветочек. Если не приживётся -- посадить другой. Когда вы увидите, что он хорошо себя чувствует -- посадить побольше таких цветов. Оформить красиво клумбу. Подсадить что-нибудь ещё. Разбить рядом вторую клумбу, с другими цветами. Потом что-нибудь куда-нибудь пересадить, а что-нибудь вообще перестать сажать, потому что не понравились. И так постепенно создать ничуть не менее красивый, а может даже более уютный парк. Где нет прямых, как стрела дорожек, но всё равно достигнута гармония.

Тесты можно выращивать примерно так же -- используя разные инструменты, время от времени меняя их, постепенно усложняя архитектуру по мере надобности. Главное -- не забывать их регулярно поливать и полоть, чтобы не заросли сорняками.

Приходите, поговорим о садоводстве и огородничестве.

Go to top