Nano Hash - криптовалюты, майнинг, программирование

Перетащите эспрессо

Можно ли выполнить действие перетаскивания через Espresso? Мне нужно переместиться на один вид вниз (по прямой), чтобы принять некоторые условия в моем тесте автоматизации.


Ответы:


1

Вы можете использовать GeneralSwipeAction для выполнения перетаскивания.

public static ViewAction swipeUp() {  
return new GeneralSwipeAction(Swipe.FAST, GeneralLocation.BOTTOM_CENTER,  
    GeneralLocation.TOP_CENTER, Press.FINGER);  
}

Вы также можете настроить местоположение в соответствии с вашими требованиями.

11.02.2016
  • swipeDown(), swipeUp() у меня не работали, потому что мне нужно было переместить круг в определенное место. 22.02.2016
  • Ваш код мне пригодился в другом случае. Спасибо. 04.03.2016

  • 2

    Вот как я это сделал. У вас больше доступа к тому, что должно произойти с вашим видом. Но принятый ответ также выполняет перетаскивание.

      public static void drag(Instrumentation inst, float fromX, float toX, float fromY,
                                float toY, int stepCount) {
            long downTime = SystemClock.uptimeMillis();
            long eventTime = SystemClock.uptimeMillis();
    
            float y = fromY;
            float x = fromX;
    
            float yStep = (toY - fromY) / stepCount;
            float xStep = (toX - fromX) / stepCount;
    
            MotionEvent event = MotionEvent.obtain(downTime, eventTime,
                    MotionEvent.ACTION_DOWN, x, y, 0);
            inst.sendPointerSync(event);
            for (int i = 0; i < stepCount; ++i) {
                y += yStep;
                x += xStep;
                eventTime = SystemClock.uptimeMillis();
                event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, x, y, 0);
                inst.sendPointerSync(event);
            }
    
            eventTime = SystemClock.uptimeMillis();
            event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, x, y, 0);
            inst.sendPointerSync(event);
            inst.waitForIdleSync();
        }
    
    22.02.2016
  • как вы называете этот метод? Я хочу попробовать что-то другое, но это может быть отправной точкой. перетащить (InstrumentationRegistry.getInstrumentation(), 0, 100, 0, 100, 20); 02.12.2016
  • этот вызов вызывает исключение SecurityException: для внедрения в другое приложение требуется разрешение INJECT_EVENTS. И это разрешение только для системных приложений... 02.12.2016
  • мой вопрос stackoverflow.com/questions/40759085/ 02.12.2016
  • Новые материалы

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

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..