Перейти к содержимому

Фотография

Сравнение изображений


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Yuliana

Yuliana

    Новый участник

  • Members
  • Pip
  • 59 сообщений

Отправлено 22 августа 2012 - 10:57

Добрый день,

Инструмент тестирования построен на Perl. Запускается на нескольких серверах с максимально приближенной конфигурацией. Регрейшены тестируемого приложения прогоняются на IBM Unix, Linux Red Hat 4, Red Hat 5, Red Hat 6, Win64, Spark.
Проект большой. Приложение написано на C++ (QT). Тестов порядка 5000.

Проблема: тесты с идентификациями об»ектов по изображениям.
Снимается скриншот с проверенного об»екта и сохраняется, как эталонный. Для стабильности кейза отдельная эталонная картинка берется в каждой операционке и сохраняется с соответствующим идентификатором. По идентификатору утилита при прогонке находит нужный эталон для сравнения в зависимости от операционки.
Так же для стабилизации устанавливаются фиксированные размеры и позиции окон (включая основное окно приложения) и шрифты с фиксированным размером.
Тем не менее эти тесты нестабильны и через некоторое количество успешных пробегов валятся из-за расхождений в несколько пикселей.

Для простого примера: состояние чек-бокса "Select Me" нечитабельно для моей тест-утилиты, а мне нужно именно проверить проставилась там галочка после моего клика или нет.

Существует ли другая возможность идентификации об»ектов, которые не возможно проверить иным способом (только сравнением скриншота)?
Возможно есть вспомогательные утилиты для таких проверок.

Задача в том, что бы сделать такие тест кейзы стабильными.

Спасибо,
Юлиана.
  • 0
Regards,
Yuliana

#2 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 22 августа 2012 - 11:35

Я так понимаю, что под "сравнением" подразумевается просто побитовое сравнение? Тогда попробуйте, например, Image Magic. Он умеет производить неточное сравнение, либо определять разницу между изображениями в "попугаях" на основании которой вы можете принимать решение одинаковы ли изображения или нет. Работает он под всеми перечисленными вами платформами.

Для простого примера: состояние чек-бокса "Select Me" нечитабельно для моей тест-утилиты...

А вот это не очень понятно. Что значит "нечитабельно"?
  • 0

#3 Yuliana

Yuliana

    Новый участник

  • Members
  • Pip
  • 59 сообщений

Отправлено 22 августа 2012 - 11:52

"Нечитабельно" т.е. моя утилита не распознает изменение статуса чек-бокса. Она и чек-бокс как отдельный об»ект не распознает. Чекбокс находится в неком окне, которое моя утилита находит по handle (программному наименоваю об»екта). Утилита ищет картинку с моим чекбоксом в состоянии, скажем, "selected" в фиксированном промежутке координат в пределах этого окна. И иногда не находит.
  • 0
Regards,
Yuliana


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных