Ускорение нажатия клавиш

Написал код который запускает приложение и открывает в Меню - Файл открыть. Но как то медленно оно переходит по меню, есть ли возможность увеличения скорость? И еще такая трабла, по логике нужно нажимать Файл и там открыть файл, но как только открывает меню - Файл, идет по диагонали и нажимает совсем другое меню, в итоге запуск другого пункта.

А что вы автоматизируете?

Подключение приложения к удаленной БД

Для большей наглядности было бы полезно увидеть код, как вы пытались.

    public class TestRun {
private static Pattern clickfile, openkfile, waitWindow;
private static Screen sc = new Screen();


@Test
public void runApp() {
    App.open("C:\\ProgramFiles(x86)\\.......................");
    waitWindow = new Pattern("C:\\mainWindow.png");
    clickfile = new Pattern("C:\\menufile.png");
    openkfile = new Pattern("C:\\openfile.png");
    try {
        sc.wait();
        sc.click(clickfile);
        sc.click(openkfile);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

  1. Вам уже недавно советовали обновить версию Sikuli. По приведенному коду я вижу, что вы до сих пор используете старую.
  2. Что вы собственно ожидаете вызовом wait?
  3. Pattern имеет такое свойство, как similarity level, который лучше не оставлять дефолтным.
  4. Скорость поиска во многом зависит от размеров искомого региона и заданной точности.
1 лайк

У меня стоит версия 1.1.0 это и есть новая.
По поводу 2-го вопроса то подразумевалось sc.wait(waitWindow);

Что значит подразумевалось? Вы вставляете код с API, которого нет в официальном репозитории - wait(), а теперь пишете, что на самом деле там должен быть еще параметр, который вы почему-то удалили при вставке кода? :confused: По сути вы просто обращались к нативному wait класса Object.

Да и вообще, главный коммитер не рекомендует использовать подобные вейты, ибо это чистейший sleep. Для таких целей лучше подойдет exists или observer.

Ускорить поиск можно еще при помощи уменьшения значения параметра MinTargetSize. Но тут рискуете пожертвовать точностью.

П.С. Заодно читаем гайд по форматированию кода.

1 лайк

Хочу от себя подчеркнуть рекомендацию №4: скорость поиска у Sikuli сильно зависит от региона поиска. Чем меньшим Вы его сделаете, тем быстрее будет находить. В своей практике я поиски для кликов по меню всегда старался свести как минимум к четверти экрана где оно ожидалось, а лучше ещё меньшей.

“свести как минимум к четверти экрана где оно ожидалось” - не понял мысль