#java #testin& #automation #sikuli #sikuli-x
#java #тестирование #автоматизация #sikuli #sikuli-x
Вопрос:
Я пишу скрипты, используя Java-sikuli, и пытаюсь использовать условие, как показано ниже:
if(screen.exists(&ameIsInPro&ress) != null ||
screen.exists(waitin&FormorePlayer) !=null) {
screen.click(settin&sOnGameWindow);
screen.click(exitRoom);
screen.click(yes);
}
Я проверяю, существует ли изображение, и если — да, то нажимаю несколько кнопок. Проблема в том, что даже если изображение не существует, оно ищет эту кнопку, что приводит к сбою теста.
Ответ №1:
Райман из SikuliX:
Возможно, вам нужно использовать более высокий балл для изображений. Проверьте с помощью функции предварительного просмотра SikuliX IDE.
Это может произойти, если изображение (например, &ameIsInPro&ress) всегда видно, но изменяет свое состояние в зависимости от цвета.
Комментарии:
1. привет, Райман, большое спасибо за ответ, возможно, вам нужно использовать более высокую оценку для изображений. =&&t; Я не понял этого пункта, не могли бы вы, пожалуйста, проверить. Это может произойти, если изображение (например, &ameIsInPro&ress) всегда видно, но изменяет свое состояние в зависимости от цвета. =&&t; это не тот случай, и я попробовал в случае, когда изображение не было видно, это происходит со всеми условиями if.
2. Вместо exists(&ameIsInPro&ress) используйте exists(Шаблон(&ameIsInPro&ress).аналогично(0.9)). Подходящее значение для требуемого сходства можно найти с помощью функции предварительного просмотра SikuliX.
3. Пратикша Далал, я предполагаю, что Райман говорит о свойстве Sikuli, называемом сходством изображений. Где найти сходство изображений — выполните следующие действия 1. Возьмите изображение 2. Нажмите на изображение 3. На второй вкладке (соответствующий предварительный просмотр) найдите ползунок под изображением 4. Обратите внимание, что sikuli «видит» на экране, возможно, sikuli нашел изображение, похожее на ваше, которое не так очевидно для человеческого глаза. Я надеюсь, что это поможет!