Изображение: изображение недопустимо, но поиск текста отключен

#java #selenium #selenium-webdriver #sikuli #sikuli-script

#java #селен #selenium-webdriver #sikuli #sikuli-скрипт

Вопрос:

Я работаю над проектом автоматизации с использованием selenium webdriver и sikuli, однако при запуске первого теста я получаю следующую ошибку:

[ошибка] Изображение: не удалось загрузить: file:/C:/bla/bla/pic/SingInBtn.PNG [ошибка] Изображение: изображение недопустимо, но поиск текста отключен!

Я использую java, и это мой пример кода:

 public void login(
                   String username,
                   String password ) {

    driver.type( this.element.userNameTxt(), username );
    driver.type( this.element.passwordTxt(), password );

    try {
        Pattern pattern = new Pattern( "pic/SingInBtn.PNG" );
        screen.click( pattern );
    } catch( FindFailed e ) {}
    //driver.click( driver.elementFinder.findElementByXpath( "" ) );
}
  

не могли бы вы сказать мне, как я могу включить поиск текста?

Спасибо

Ответ №1:

Ваша проблема, похоже, не TextSearch в том, что является функциональностью Sikuli для обнаружения шаблонов на основе распознавания текста. В вашем случае файл изображения, который вы предоставили в качестве шаблона, не может быть найден во время выполнения. Это, в свою очередь, может произойти в результате неправильного пути, поврежденного файла, неподдерживаемого файла и т. Д.. Когда Sikuli сталкивается с этой проблемой, он предполагает, что предоставленный вами обычный текст, а не файл шаблона изображения, и пытается выполнить поиск этого текста на экране и в конечном итоге завершается ошибкой, которую вы указали.

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

 System.out.println(ImagePath.getBundlePath());
  

Также убедитесь, что сам файл действителен.

PS Я бы также попытался использовать абсолютный путь или, если это нежелательно, динамически определять путь во время выполнения.

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

1. Спасибо #Eugene, кстати, файл правильный, мне пришлось добавить полный путь, но когда я пытаюсь загрузить изображение из каталога моего проекта, я получаю указанную ошибку, у вас есть какие-либо идеи, что может быть причиной?

2. @AliHamadi я не уверен, в чем именно заключается ваш вопрос. Я объясняю в своем приведенном выше ответе, почему это происходит. Если вы не уверены, где Sikuli ищет файлы шаблонов, выведите путь к пакету, как я описал выше.