Sikuli изменение размера экрана

#user-interface #jenkins #size #resolution #sikuli

#пользовательский интерфейс #дженкинс #размер #разрешение #sikuli

Вопрос:

Мы запускаем Sikuli для тестирования графического интерфейса (проверка изображения).

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

Проблема в том, что тестовые примеры передаются на уровне локального компьютера, но постоянно терпят неудачу на уровне Jenkins.

Вот некоторые отмеченные нами факторы, которые могут быть причиной этого: разрешение экрана между Jenkins и локальным компьютером отличается

  • Разрешение и / или размер экрана отличаются у Jenkins и локального компьютера
    • Разрешение локального компьютера составляет 1920x1080x24
    • Разрешение компьютера Jenkins задается в формате xvfb 1920x1080x24
    • Однако размер экрана на компьютере Jenkins при запуске скрипта установлен на уровне 1440×810
    • В настоящее время мы не нашли способа настроить этот размер экрана с помощью Sikuli; любые предложения по изменению размера экрана с помощью Sikuli или других инструментов были бы замечательными.
  • Версия браузера между Jenkins и локальным компьютером отличается
    • Дженкинс использует Firefox webdriver
    • Локальная машина использует firefox webdriver
    • Мы думаем об этом как о проблеме, потому что артефакты скриншотов с компьютера Jenkins отображают, казалось бы, разные формы шрифта для глаз; мы говорим «формы», потому что очевидно, что они имеют одинаковый размер шрифта, стиль и т.д.

Ответ №1:

Вы должны задавать такие вопросы на Launchpad, официальной доске вопросов и ответов для SikuliX. Я разработчик RayMan для SikuliX.

Какую версию Sikuli (X) вы используете? Рекомендуется 1.1.4.

В SikuliX обычно нет функции для настройки разрешения экрана. Это задается системной средой.

Если пробные версии изображений (захваченные изображения) содержат текст, то поиск зависит от того, насколько похожи шрифты на изображении и текущем экране. Различия обычно приводят к FindFailed.

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

http://sikulix.com

Комментарии:

1. Привет, мы используем Sikuli, а не SikuliX, но, несмотря на это, я думаю, что оба они довольно похожи по методам / библиотекам / функциям, не так ли?

2. Мы изменили размер браузера, и он по-прежнему не работает, но мы нашли другую причину, по которой скрипты могут давать сбой: Jenkins OS — это ОС на базе Linux, а локальная ОС — Windows. Рендеринг пикселей может немного отличаться у двух и вызывать сбои.

3. Эта проблема соотношения сторон или точности начинает быть очень распространенной. Грустно захватывать и запускать на одном дисплее. И у этого find нет таких модификаторов масштаба.

Ответ №2:

Просто хочу ответить на свой собственный вопрос:

Графический интерфейс (изображение / пиксель) при использовании Sikuli зависит от следующих факторов:

  • Тип браузера
  • Разрешение экрана
  • Размер экрана
  • ОПЕРАЦИОННАЯ система

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

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

введите описание изображения здесь

Следующий вариант — использовать функцию распознавания текста SikuliX.