Метка «автоматизированное тестирование»

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

Почему возникла такая необходимость?

Для сравнения графических изображений с образцом я пробовал использовать библиотеку Perl «ImageMagic», которая успешно сравнивает изображения с заданием некоторой величины погрешности. Но в некоторых случаях она оказалась неэффективна.
Читать полностью »

Доброго времени суток хабру. Хочу начать с небольшого вступления, как к первому своему посту на ресурсе. Хабр я почитываю уже давно и мысли о регистрации время от времени посещали, но разбивались о железное «а зачем?». Простого желания отвечать на то да се, слава богу, оказывалось недостаточно. Видимо я по капле выжимал из себя тролля. И вот в один прекрасный день я понял что у меня есть кое-какие знания, которыми стоило бы поделиться с другими. Хотя бы для того, чтобы всегда знать где я смогу найти это, если сам вдруг забуду. Правда и этого оказалось недостаточно. Последней каплей стала статья одного человека, которому мне захотелось сказать спасибо, не за статью, а за образ мыслей и то что он вообще такой есть. Тут уж я понял — без регистрации этого не сделать никак.

Теперь же перейду непосредственно к теме.

С чего все началось

Примерно год назад я сменил место работы и на новом месте мне предложили разобраться в интересном вопросе, а именно организации автоматизированного функционального тестирования Oracle Siebel CRM средствами Oracle OpenScript. «Почему бы и нет?» подумал я.Читать полностью »

С помощью собственного инструмента для проведения автоматизированных тестирований веб-приложений в различных окружениях Selenium компания Sauce Labs получает большие объёмы статистических данных о множестве ошибок. Часто ошибки возникают не из-за плохого кода, не плохого соединения и не из-за заряженных микрочастиц из открытого космоса, а из-за «падения» браузера. Разумеется, в этом случае браузер будет перезапущен, но нам интересна ведомая компанией статистика аварийных завершений, по которой можно судить о надёжности тех или иных браузеров.

Браузеры и частота их падения

Два года назад, в августе 2011 года, Sauce Labs уже публиковала подобную, пусть и менее детальную статистику на основании миллионов тестов, которые проводили клиенты компании. Результаты оказались несколько предсказуемыми, хотя было несколько удивительных фактов.

Конечно же, Internet Explorer 6 оказался среди худших браузеров, но и более новые версии не блистали надёжностью. Надёжным в 2011 году оказался Firefox, хотя не хуже был и Google Chrome с его постоянными обновлениями, не оставляющими пользователя с нестабильной версией. По результатам тестов неплохо себя показал и Opera.
Читать полностью »

В рамках внутренней активности с кодовым названием e-Lectures мы продолжаем выкладывать небольшие видео от наших мобильных разработчиков.

В этой лекции Степан stepango Гончаров расскажет об инструментах и методиках, применяемых в компании e-Legion для автоматизированного тестирования Android-приложений.


Презентация

В комментариях делитесь своими впечатлениями о докладе и рассказывайте, как вы тестируете Android-приложения.

Читать полностью »

Как тестировать электронику на производстве: анализ современных технологий

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

Читатели этой статьи познакомятся с основными методиками и задачами тестирования электронных устройств и получат общее понимание обеспечения качества на производстве. Особое внимание будет уделено достоинствам и недостаткам различных методов тестирования.
Читать полностью »

image

Введение

Привет, привет! Ну что же, пришло время заключительной части, в которой я приведу пример несложных тестов, написанных с применением врапперов из предыдущих частей статьи. Как и обещал, открываю публичный доступ к работающей версии фреймфорка (см. ссылки).Читать полностью »

SpecFlow позволяет использовать встроенные таблицы для Data Driven сценариев. В своей практике я столкнулся с двумя проблемами при таком подходе:

  1. Иногда хочется, наоборот, получить авто-документацию из теста (например, тестирование API)
  2. Когда количество данных велико, лучше хранить их где-то отдельно (часто для Acceptance Test Case'ов используют Excel)

Покопавшись в Gesigner Generated коде я смог решить обе проблемы.

Читать полностью »

WebPages

Введение

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

  • Описания всех страниц будут находиться в отдельном проекте, я назвал его Autotests.WebPages
  • Для каждой страницы будет создан отдельный класс, располагающийся в отдельном файле
  • Названия классов будут совпадать с названиями web-страниц, например описание страницы MySite/Home/Help будет храниться в классе с названием Help
  • Структура расположения этих файлов иерархическая и будет повторять дерево web-страниц. Например, страница LogOn будет иметь путь RootHomeHelp.cs относительно проекта и располагаться в пространстве имен (namespace) Autotests.WebPages.Root.Home
  • Для доступа к страницам будет разработан некоторый фасад (Facade), статический класс Pages
  • На практике страницы могут иметь много общего, поэтому вполне логично использовать наследование и вынесение некоторого функционала в отдельные хелперы

Читать полностью »

Вступление

Selenium + C#
Снова здравствуйте! Представляю вам вторую часть статьи на тему автоматизированного тестирование веб-приложения на Selenium и C#. И если первая часть была из разряда «капитан очевидность», что вызвало негодование у читателей, то в этой части будет много кода. И так, зачем же писать обертку (wrapper) над Selenium API? На мой взгляд, пользователи могут столкнуться со следующими проблемами:

  • Интерфейс IWebDriver предоставляет довольно скудную функциональность в плане управления браузером. Поэтому все, что нам понадобится, придется писать самим
  • Описание элемента происходит одновременно с его поиском, т.е. на момент определения элемента он должен существовать в браузере. Очень часто решается путем написания getter для каждого элемента. Это накладно и плохо с точки зрения производительности
  • ISearchContext.FindElements принимает только один параметр типа OpenQA.Selenium.By, т.е. мы не можем искать сразу по нескольким свойствам. Обычно элемент ищется по первому критерию, а затем начинается отсеивание по остальным
  • Отсутствие многих, казалось бы, очевидных методов и свойств. Например: Exist, SetText, Select, SetCheck, InnerHtml и т.д. Вместо этого мы вынуждены довольствоваться Click, SendKeys и Text
  • Множество проблем на различных браузерах, например на Firefox и Chrome элемент кликается, а на IE — нет. Приходится писать special cases, «костыли»
  • Производительность. Да, драйвера работают не быстро. Впереди планеты всей как обычно IE — поиск может занимать секунды, иногда и десятки секунд

Читать полностью »

Введение

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js