AutoItMonkey - Cliente para Android Monkey.

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
ohtejera
Mensajes: 20
Registrado: 24 May 2012, 03:20
Ubicación: Montevideo
Contactar:

AutoItMonkey - Cliente para Android Monkey.

Mensaje por ohtejera »

Me gustaría compartir con ustedes el último proyecto que desarrolle con AutoIt, AutoItMonkey.

AutoItMonkey es un cliente para la herramienta Android Monkey disponible en el SDK de Android.
Esta herramienta fue desarrollada para ejecutar Monkey Test en Android permitiendo la ejecución, de forma pseudo-randomica, de un conjunto de acciones (tap, drag, swipe,press button,etc) sobre aplicaciones Android.

Una característica no muy documentada de Monkey es la posibilidad de ejecutar acciones de forma no-randomica a través de TCP implementado el siguiente protocolo. AutoItMonkey es un cliente de este protocolo, permitiendo de esta forma ejecutar acciones sobre aplicaciones instaladas en dispositivos físicos y/o emuladores de Android desde AutoIt.

El proyecto fue liberado bajo una licencia Open Source, y se encuentra disponible en GitHub. Podran encontrar un par de ejemplos así como también la documentación generada a partir de los comentarios del código con Natural Docs y los test del proyecto desarrollados con el framework Micro .
Pueden ver el funcionamiento de la librería en el siguiente video.

A modo de comentario:
  • El proyecto fue desarrollado con el excelente ISN AuoIt Studio IDE de Christian Faderl, un IDE que es cada vez mas funcional y estable.
  • Para las pruebas se utilizo el emulador de Android Genymotion, cuyo rendimiento es sensiblemente superior al emulador provisto por el SDK de Android.
De mas esta decir que cualquier colaboración/observación es bienvenida. El proyecto es abierto y cualquiera puede colaborar con el.

Gracias.
Saludos.
Henry.
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por Jonny »

No entiendo muy bien para qué sirve esto... ¿Se pueden ejecutar aplicaciones hechas con AutoIt, en Android?.

Salu2!
Avatar de Usuario
ohtejera
Mensajes: 20
Registrado: 24 May 2012, 03:20
Ubicación: Montevideo
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por ohtejera »

El objetivo de esta libería es automatizar aplicaciones Android con AutoIt. Si bien existen mejores herramientas para realizar esta tarea, es una aproximación para utilizar AutoIt como lenguaje de automatización para aplicaciones Android, intereactuando directamente con una aplicación (Monkey) provista por el SDK de Android. Ùtil sobre todo para tener un poco mas de control al momento de ejecutar Monkey Test.

Saludos.
Henry.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por BasicOs »

Gracias por el aporte. Esto hace que automatices un dispositivo o terminal con el sistema Android, de manera que puedas programar en Autoit el script, y luego ejecutarlo en el PC para que los comandos se ejecuten en el terminal Android.
Realmente puedes llevar el concepto de Autoit y automatización a Android, y puedes tener un Android automatizado simulando los dedos etc..
Aunque claro, tiene que haber un Windows ejecutando Autoit que vaya "enviando" los comandos como un espejo hacia el teléfono movil o dispositivo.

Es decir que si quereis automatizar los teléfonos y otros de Android, ya podeis crear un programa/script con esta librería y conexión, por ejemplo para enviar eventos o strings al whatsapp u otros programas del Play Store Android.......
Por ejemplo para automatizar y enviar un whatsapp, correo electrónico, facebook, etc.. con un mensaje a las 08.00 de la mañana para recordar algo a alguien..., o para desinstalar o instalar aplicaciones Android automáticamente desde un script Autoit, todo deacuerdo con las limitaciones de Android... :smt033 :smt033
No se si hay más posibilidades de las que comento?? :) :smt034 :smt023
Salu22:)
Avatar de Usuario
ohtejera
Mensajes: 20
Registrado: 24 May 2012, 03:20
Ubicación: Montevideo
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por ohtejera »

La respuesta de BasicOs resumen correctamente las funcionalidades provistas por esta librería. Si bien insisto en el hecho de que existen actualmente algunas herramientas (1,2,3) mas completas para automatizar aplicaciones Android, no deja de ser una primera aproximación de integrar soporte en AutoIt para automatizar aplicaciones mobile ya que, al fin y al cabo, AutoIt fue inicialmente concebido como un lenguaje especializado en la automatización.

Saludos.
Henry.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por Dany »

Muy interesante el proyecto me gusta. una cosita en cuanto al código. es buena practica inicializar las variables.

Código: Seleccionar todo

:por ejemplo
;en ves de
Local $sResponse
;Así
Local $sResponse=""

Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
ohtejera
Mensajes: 20
Registrado: 24 May 2012, 03:20
Ubicación: Montevideo
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por ohtejera »

Dany,

Muchas gracias por la observación. He tratado como punto de partida para mis proyectos tratar de ajustarme a los estándares y buenas practicas definidos para el lenguaje pero, alguna veces por descuido, por pereza y otras por rebeldía, no termino ciñiendome en su totalidad a estas practicas. Si vengo tratando de incluir pruebas unitarias y generación de documentación a partir del código, si bien esos últimos puntos no son muy habituales cuando se desarrolla con AutoIt creo que me han aportado cierto beneficio.

Gracias nuevamente.
Saludos.
Henry.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por arkcrew »

Pues yo ya que estoy ahora de desarrollador android, fusionar Autoit con él me parece increible, me encantan ambos lenguajes y creo que puede dar unas posibilidades inmensas.

A ver si saco tiempo y le echo un ojo al SDK este que posteas.

Saludos!
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por Jonny »

Ah. Ya entiendo.

Yo tengo pendiente aprender Java, para meterme en la programación Android. Pero... El libro con el que pretendo hacerlo (la biblia de Java) asusta, sólo con ver su índice :)

Mientras tanto; me gustaría ejecutar scripts hechos en AutoIt, en Android... ¿Se podrá de alguna forma?. He visto que hay algún emulador de Windows para Android, pero no lo he probado.

De poderse, supongo que habrán muchas limitaciones. Por ejemplo, acceder al hardware del dispositivo: Acelerómetro, GPS ETC.

Ya puestos con esto de Android, Windows, AutoIt... He visto que había algún proyecto en desarrollo, o terminado, para virtualizar Windows en Android. ¿Sabéis algo sobre esto?. Esto sí me interesaría, porque tengo un Nexus 5, y no creo que hubiera demasiados problemas en cuanto a hardware, para eso.

Salu2!
Avatar de Usuario
ohtejera
Mensajes: 20
Registrado: 24 May 2012, 03:20
Ubicación: Montevideo
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por ohtejera »

Jonny,

Te dejo una lista de algunos de los emuladores [1,2,3] disponibles para Android. Todos ellos son gratuitos y funcionan en Windows.

Por lo general las instalaciones de estos emuladores requieren para su funcionamiento disponer previamente de Java y el SDK de Android. Te dejo un par de vínculos en donde se procede a mostrar la instalación: 1,2,3.

Respecto a tu pregunta de si se puede utilizar AutoIt como lenguaje de desarrollo para la plataforma Andoird, bueno me temo que en la actualidad eso no es posible sin embargo no es Java la única alternativa disponible para desarrollar aplicaciones Android, hay algunas otras opciones (no todas ellas gratuitas) incluso algunas utilizan BASIC como lenguaje:

Basic4android
BASIC for Android
Xamarian
App Inventor

También puedes desarrollar aplicaciones híbridas que básicamente consisten en una vista web desarrollada con la ya clásica terna de HTML, CSS, Javascript (quizás utilizar algún framework como Angular JS) y posteriormente usar alguna
herramienta que te permite embeber esta vista web en un contenedor nativo. Algunas de estas herramientas son las siguiente: Cordova y CooconJS entre otras.

Saludos.
Henry.
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por Jonny »

Hola:

... Me refería, a un emulador de Windows para Android: O sea, emular Windows en Android. Pero igual estos emuladores que me pones me irán bien, hace tiempo que quiero tener un Android emulado en Windows :)

No conocía tantas alternativas a Java para Android. Además de programar en Java, he visto que existe el NDK, para programar en C/C++ para Android. Pero parece que eso tiene alguna limitación.

Desde luego, estaría muy bien, que hubiese algún lenguaje como AutoIt, para Android.
¿Qué tal LUA (creo que es: BasicOS ha hablado de él alguna vez por aquí). Pero no me queda claro, si es un lenguaje como tal de programación, si hay que convinarlo obligatoriamente con otros, como C... Pero parece, que LUA sí puede correr en Android ¿no?.

Eso sí, no sé: Pero no me gustó mucho cuando investigué un poco sobre él. No sé: La sintaxis... Algo no me convenció del todo ;)

Salu2!
Avatar de Usuario
ohtejera
Mensajes: 20
Registrado: 24 May 2012, 03:20
Ubicación: Montevideo
Contactar:

Re: AutoItMonkey - Cliente para Android Monkey.

Mensaje por ohtejera »

Perdón Joony, pensé que hacías referencia a emuladores Android en Windows no viceversa. Me alegro de todas formas que te sean de utilidad los vínculos.

En cuanto a Lua, si es un lenguaje (multiparadigma) de programación que puede usarse tanto embebido dentro de otros lenguajes, como tu bien mencionas por ejemplo con C,o de forma independiente.

Respecto a desarrollar aplicación para Android con Lua, parece ser que hay algunas alternativas dentro de las cuales encontramos algunas mas elaboradas y comerciales y otras mas sencillas.

Saludos.
Henry.
Responder