Sikuli меняет размер экрана - PullRequest
1 голос
/ 12 марта 2019

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

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

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

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

  • Разрешение экрана и / или размер отличается от Jenkins и Local machine
    • Разрешение локальной машины 1920x1080x24
    • Разрешение машины Jenkins устанавливается xvfb 1920x1080x24
    • Однако размер экрана на компьютере Jenkins при запуске сценария установлен в 1440x810
    • В настоящее время мы не нашли способа отрегулировать этот размер экрана с помощью Sikuli; любые предложения по изменению размера экрана с помощью Sikuli или других инструментов были бы хорошими.
  • Версия браузера между Jenkins и Local machine отличается
    • Дженкинс использует Firefox Webdriver
    • Локальный компьютер использует веб-драйвер Firefox
    • Мы думаем об этом как о проблеме, так как артефакты на скриншоте с машины Дженкинса показывают, казалось бы, разные формы шрифта для глаза; мы говорим, что фигуры bc, очевидно, имеют одинаковый размер шрифта, стиль и т. д.

Ответы [ 3 ]

0 голосов
/ 12 марта 2019

Мы думаем об этом как о проблеме, так как артефакты на скриншоте с машины Дженкинса показывают, казалось бы, различные формы шрифта глазу;мы говорим, что фигуры bc, очевидно, имеют одинаковый размер шрифта, стиль и т. д.

Похоже, это может быть проблемой (а не разрешением).Некоторые вещи, которые нужно попробовать:

  • Изменить (уменьшить) уровень достоверности соответствия изображения.(Риск: ложные срабатывания)

  • Поскольку вы ищете текст : вы пробовали , используя OCR вместо "текстовых изображений"?Это сделает ваш скрипт устойчивым к различным визуализациям шрифтов.Я с успехом использую OCR в команде OCRSearch («текст для поиска») Канту, и я предполагаю, что вы можете сделать то же самое с Sikuli плюс Tesseract.Смотрите здесь:

https://answers.launchpad.net/sikuli/+question/182624

0 голосов
/ 20 марта 2019

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

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

  • Тип браузера
  • Разрешение экрана
  • Размер экрана
  • OS

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

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

0 голосов
/ 12 марта 2019

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

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

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

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

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

http://sikulix.com

...