Comando de entrada de entrada de android más rápido

Estoy tratando de ejecutar los comandos rápidos de entrada uno tras otro, pero se ejecutan con 1 segundo entre ellos. Me pregunto si hay una opción para ejecutarlos más rápido.

input es una aplicación java y el “retraso” que está viendo depende de cuánto demora su dispositivo para iniciar una nueva aplicación java. 1s es típico para dispositivos más antiguos.

No puede hacer mucho al respecto si desea seguir usando la input . Las alternativas a eso serían usar el comando sendevent o modificar la input para aceptar series de coordenadas para enviar todo el gesto de una vez.

Si bien sendevent es ciertamente una alternativa, es engorroso y depende del dispositivo.

Existe otra alternativa: CulebraTester CulebraTester proporciona un punto en tiempo real y hace clic en la grabación de prueba a través de un navegador web. Este navegador está conectado al dispositivo Android bajo prueba. La secuencia de comandos generada es compatible con AndroidViewClient / culebra , que tal vez ya conozca. La principal desviación entre ambas soluciones es el uso de un back-end diferente. AndroidViewClient / culebra normalmente usa adb como su back-end en la mayoría de los casos, mientras que CulebraTester utiliza un servidor que se ejecuta en el dispositivo respaldado por Ui Automator .

Este script de prueba. que fue generado automáticamente por CulebraTester

 #! /usr/bin/env python # -*- coding: utf-8 -*- ''' Copyright (C) 2013-2018 Diego Torres Milano Created on 2018-02-06 by CulebraTester __ __ __ __ / \ / \ / \ / \ ____________________/ __\/ __\/ __\/ __\_____________________________ ___________________/ /__/ /__/ /__/ /________________________________ | / \ / \ / \ / \ \___ |/ \_/ \_/ \_/ \ o \ \_____/--< @author: Diego Torres Milano @author: Jennifer E. Swofford (ascii art snake) ''' import re import sys import os import time import unittest try: sys.path.insert(0, os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src')) except: pass import pkg_resources pkg_resources.require('androidviewclient>=12.4.0') from com.dtmilano.android.viewclient import ViewClient, CulebraTestCase from com.dtmilano.android.uiautomator.uiautomatorhelper import UiAutomatorHelper, UiScrollable, UiObject, UiObject2 TAG = 'CULEBRA' class CulebraTests(CulebraTestCase): @classmethod def setUpClass(cls): cls.kwargs1 = {'ignoreversioncheck': False, 'verbose': True, 'ignoresecuredevice': False} cls.kwargs2 = {'forceviewserveruse': False, 'useuiautomatorhelper': True, 'ignoreuiautomatorkilled': True, 'autodump': False, 'startviewserver': True, 'compresseddump': True} cls.options = {'start-activity': None, 'concertina': False, 'device-art': None, 'use-jar': False, 'multi-device': False, 'unit-test-class': True, 'save-screenshot': None, 'use-dictionary': False, 'glare': False, 'dictionary-keys-from': 'id', 'scale': 1, 'find-views-with-content-description': True, 'window': -1, 'orientation-locked': None, 'save-view-screenshots': None, 'find-views-by-id': True, 'log-actions': False, 'use-regexps': False, 'null-back-end': False, 'auto-regexps': None, 'do-not-verify-screen-dump': True, 'verbose-comments': False, 'gui': False, 'find-views-with-text': True, 'prepend-to-sys-path': False, 'install-apk': None, 'drop-shadow': False, 'output': None, 'unit-test-method': None, 'interactive': False} cls.sleep = 5 def setUp(self): super(CulebraTests, self).setUp() def tearDown(self): super(CulebraTests, self).tearDown() def preconditions(self): if not super(CulebraTests, self).preconditions(): return False return True def testSomething(self): if not self.preconditions(): self.fail('Preconditions failed') _s = CulebraTests.sleep _v = CulebraTests.verbose t = time.time() for _ in range(100): self.vc.click(x=321, y=996) print (time.time() - t) if __name__ == '__main__': CulebraTests.main() 

Solo se agregó el bucle cronometrado que envía 100 eventos de clic. Al ejecutarlo, se muestra cómo se puede mejorar la demora con este método.