Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Malala

#1
Si al intentar levantar un device desde genymotion y, pasado de unos segundos, aparece un modal con el error "Unable to start the virtual device". Puede que tengamos creadas muchas redes por parte de virtualBox, y se estén pisando las sesiones. O simplemente a la hora de instalarlo, la red no se encuentra configurada correctamente. Para solucionar este problema, debemos realizar el siguiente paso a paso:

1- Dirigirse a virtualBox

2- Seleccionar Archivo > Administrador de red de anfitrión



3-  Seleccionar las redes que tengamos habilitadas y eliminarlas



4- Probar nuevamente iniciar el device desde Genymotion. Debería levantarles correctamente el emulador.




Espero que les haya sido útil.. Saludos!!  ;)
#2
Con la nueva actualización de phonegap, se puede observar como al iniciar la aplicación, se traba en la pantalla de carga. Esto evita que se pueda abrir un proyecto para luego vincular la ip con la aplicación móvil.






Para solucionarlo, tan solo se tiene que descargar nuevamente el módulo de node que viene integrado en la aplicación.
Lo dejo disponible en el siguiente link de descarga (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).

Ya descargado el archivo zip, se debe descomprimir e ingresar a la carpeta habilitada.
Seguido de eso, se debe comprimir en un archivo zip, la carpeta llamada npm. La misma se encuentra ingresando en node_modules (dejo una captura debajo).






Por último, se deben dirigir a donde se encuentra la aplicación de PhoneGap --> C:\Program Files (x86)\Adobe\PhoneGap\PhoneGap Desktop\resources\app.asar.unpacked\bin
Y reemplazar el zip con nombre npm, por el nuevo que descargaron y comprimieron en los pasos de arriba.






Realizado lo anterior, se debe abrir la consola (ejecutada como administrador), y navegar hasta el directorio donde se cambió el archivo. Una vez ubicados, se debe escribir "postInstall" y dejar que se extraigan los módulos correspondientes a npm.






Al finalizar la extracción de datos, ya estará todo en condiciones para poder utilizar la aplicación.





Espero que les haya sido útil!  ;)
#3
En este post voy a explicar como realizar una introducción a lo que es el framework de lippia, por medio de una práctica sencilla de automatización. Antes de comenzar, tenemos que saber lo esencial: "¿Qué es Lippia?"

Lippia es un framework complejo, que contiene la integración de muchas herramientas para poder realizar diferentes procesos, desde automatización web, mobile hasta automatización de APIS.

La arquitectura de este framework comienza con los repositorios de docker que contienen las imágenes de jenkins, lippia core y test scenarios. Los mismos permiten ejecutar el webdriver de selenium para poder automatizar una app en los diferentes browsers (Chrome, Firefox, etc), o en appium y android si es una app móvil.


Primeros pasos
Para iniciar con la explicación de su ejecución voy a abrir un proyecto de Lippia en mi IDE (en este caso trabajaré con IntelliJ). Donde se observará un proyecto Maven con sus diferentes directorios, aunque nosotros solo nos centraremos en la carpeta "src".



Si observamos bien,existen dos divisiones: Main y Test. Donde la primera se expande hasta que llegamos a examples/pages y examples/steps. Y la segunda (test), en test/java y test/resources.

En test solo trabajaremos con la carpeta "features", donde crearemos las clases con los diferentes escenarios y explicaciones detalladas de lo que se realizará en cada test (conocidas como user story).

Y en la carpeta main/examples, tendremos dos tareas diferentes. En la carpeta "steps", crearemos la comunicación entre el feature y las diferentes funciones de java, que se encontrarán establecidas en la carpeta "pages".

Features
En Lippia se utiliza el lenguaje "Gherkins". Con la función de que cualquier usuario que
ingrese al proyecto, entienda con facilidad de que se trata la automatización a realizar (Se recomienda siempre expresarse en tercera persona).

Se comienza estableciendo una corta descripción del feature en general, por ejemplo "Como un usuario potencial, necesito realizar una búsqueda en Google para encontrar una página".

Debajo de esto se escribe un tag con el nombre del test (@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, @Smoke, etc). Esto se debe a que nosotros podamos elegir qué escenario ejecutar en cada automatización. Cada escenario tendrá asignado un resumen de la función que se va a cumplir, relacionado al feature.  Por ejemplo "El usuario busca por 'automatización'".

Y luego se deben escribir los pasos que se deben realizar para llegar al resultado esperado, asignando a cada etiqueta de Gherkin (Given, When, And, Then).

A continuación se ve un ejemplo de un feature (seguimos trabajando con el mismo ejemplo de la búsqueda de Google)


Las instrucciones se encontrarán resaltadas de un color, y eso significa que todavía no están declaradas en los steps.

Steps

Como había mencionado arriba. En la clase steps se realizará la comunicación entre el gherkin establecido en el feature y las funciones de java, que se encontrarán en los page objects.

¿Cómo realizar dicha vinculación?
Comenzaremos escribiendo el tag, seguido de la instrucción gherkin correspondiente. Por ejemplo @Given("The client is in google page"), y así con el resto de los pasos. Es importante destacar que debe escribirse la instrucción IDÉNTICA a como la tenemos en el feature, ya que sino no se encontrará vinculación entre las dos clases.

Podremos comprobar la vinculación correcta, si vamos al feature y posamos el mouse sobre cualquiera de las instrucciones de gherkins y hacemos ctrl + click. De inmediato nos conducirá a la instrucción encontrada en la clase de steps.
 
Una vez escrito cada tag con su instrucción correspondiente, podremos seguir al siguiente paso que es la llamada de cada clase (page object), con su función.


Page Objects

En este caso tendremos 3 clases diferentes: PageBaseGoogle, GoogleHomePage y GoogleSearchResultPage.


Clase 1. PageBaseGoogle


En esta clase establecemos en el constructor la url de la app donde estaremos trabajando y la herencia del webdriver.

Clase 2. GoogleHomePage

En esta clase comenzamos identificando los elementos de la app con la que haremos interacción a medida que vayamos automatizando. Y las definimos como constantes "private final String (nombre constante). A las mismas, le podemos asignar el nombre correspondiente, id, nombre de la clase, xpath, entre otros.


Esos datos se obtienen desde el inspector de elemento de la app (f12 o click derecho > inspeccionar elemento).




Una vez hecho eso, comenzamos creando las funciones con los diferentes tipos de acciones. Por ejemplo si queremos seleccionar el input search de google, nos basta con hacer lo siguiente:




Dónde completeField es una característica que ya viene con lippia. "By.xpath", es por como ubicaremos al elemento y "INPUT_SEARCH_XPATH", es por el nombre que le dimos a la constante.

Una vez realizadas todas las funciones deseadas, volvemos a la clase de steps y llamamos a la cada clase con su respectiva función.


Utilizamos "Injector._page" para llamar a la clase y entre paréntesis el nombre de la misma. Por último hacemos referencia a la función correspondiente.

Clase 3. GoogleSearchResultPage
En esta clase realizaremos la validación para comprobar que todas las funciones establecidas anteriormente, hicieron bien su trabajo, y hemos llegado al resultado esperado.


En este caso, solo realizamos una función donde nos tienen que devolver una cadena de caracteres, que viene siendo el nombre de dicha sección. Por ejemplo, sería el buscador de google con todas las webs encontradas.

Por último, debemos volver a la clase steps y realizar un assert en nuestra función "startVerification". Donde se establece que el estado de la aplicación es lo mismo que nosotros esperábamos.

Y en este caso se realiza primero el assert.assertTrue y luego llamamos a la clase con su respectiva función.

#4
Hola a todos, qué tal?
No puedo crear una conexión en Workbench, ya que me dice "Cannot connect to database server", cuando en realidad ya creé el usuario y la bd por consola, pero cuando quiero juntar toda la info ; no me deja y me muestra el mensaje anterior..
Espero que alguien me pueda ayudar,
Saludos!
#5
Java / Instalar Window Builder
Septiembre 02, 2019, 09:15:01 PM
Hola a todos los usuarios de Underc0de, hoy les voy a enseñar como instalar WindowBuilder para poder crear JFrames y así programar las aplicaciones que quieran!

Comenzamos abriendo la IDE que utilizan para programar, en mi caso, voy a abrir Eclipse.
Seleccionamos Help (o ayuda, según el idioma en que tengan su IDE), y en el dropdown hacemos click en "Install New Software".


En la ventana emergente de la instalación, debemos hacer click en la opción No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y seguido de la versión de su IDE.


Segundos después, en el recuadro de abajo, nos van a salir las diferentes herramientas que podemos instalar. En este caso, vamos a buscar la opción de "General Purpose Tools", y le haremos click a la flecha que se encuentra a la izquierda para desplegar sus elementos.


En este caso, los elementos que nos importan, son SWT Designer y WindowBuilder. Es por eso, que tenemos que seleccionar todos los que tienen esos nombres. Una vez finalizado, hacemos click en el botón NEXT >


En la siguiente ventana, se nos mostrarán nuestras selecciones para que revisemos nuevamente si hemos clickeado los elementos necesarios. Si está todo correcto, clickeamos nuevamente en NEXT >


Por último, debemos aceptar la licencia:


Y segundos después, saldrá la opción de reiniciar la IDE. Lo recomendable es que lo hagan, para que se puedan realizar todas las instalaciones y actualizaciones de manera correcta (No demora más que unos minutos)..

Una vez iniciada nuevamente la plataforma, nos iremos a nuestro proyecto, y haremos el mismo proceso que cuando creamos una clase, paquete, etc. Con la diferencia que seleccionaremos la última opción "Otros"


En Select a wizard, buscaremos la carpeta de WindowBuilder, seguido de Swin Designer y luego en JFrame:


En donde podremos darle un nombre, su ubicación en el directorio, etc..


Seguidos todos estos pasos, debemos dejar que la IDE cargue nuestro JFrame con todas las configuraciones, y minutos después, les va a salir un panel de configuración muy similar al de la foto, con el objetivo de que puedan crear y programar su aplicación..


Link de descarga del material: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Espero que les haya servido el siguiente post.. Saludos!
#6
Presentaciones y cumpleaños / Hola Mundo
Septiembre 02, 2019, 08:10:28 PM
Hola a todos! Gracias por dejarme ser parte de esta hermosa comunidad.
Soy programadora y me especializo en los lenguajes de php, python y java. En este último soy un poco amateur, pero gracias a sus post voy a estar aprendiendo lo necesario. Voy a estar aportando mis conocimientos sobre estos lenguajes..

Mis subforos favoritos son los de programación en general, scripting y web, sistemas operativos..