Blog de diseño y desarrollo de páginas y aplicaciones web.

Archivo de la categoría: Php

0

Probar tu aplicación web. Instalar y configurar Selenium y PHPUnit

Probar tu aplicación web. Instalar y configurar Selenium y PHPUnit

Posted on por

Hoy vamos a tratar un tema interesante. Probar de forma eficiente una aplicación web de cierta magnitud es un proceso complicado. Lo es más si ésta es actualizada con asiduidad, modificando procesos que pueden afectar a otros de forma indirecta, generando errores que no siempre son detectados.

Para ello, podemos utilizar dos herramientas muy potentes que nos permitirá generar test automatizados que podrán ser ejecutados cuando lo creamos necesario.

En primer lugar, PHPUnit nos permite implementar test de forma rápida, y nos facilita múltiples métodos y funcionalidades que nos harán tener un código de mejor calidad y hace que su mantenimiento sea más sencillo.

Un test básico de la clase Money sería el siguiente:

Y su ejecución desde consola (de Línux)

Para instalarlo desde consola, con ejecutar las cuatro siguientes líneas como administrador sería suficiente:

Además, estas líneas son requisito indispensable para utilizar nuestra siguiente herramienta.

Selenium comenzó siendo un plugin de Firefox (sigue siéndolo y lo utilizaremos para generar la base de nuestros scripts) pero al ver su extrema utilidad, se convirtió en una herramienta desarrollada en múltiples lenguajes (PHP entre ellos)

El plugin de Firefox (descargable aquí) nos permite grabar una navegación por una página o aplicación web y reproducirla cuando queramos, modificando los objetivos del test, etc. Además, nos permite exportar el script en el lenguaje que queramos, algo muy útil para poder modificar directamente los scripts en php y personalizarlos a nuestro gusto, además de ejecutarlos directamente desde cualquier máquina con linux.

Selenium IDE

Nos permite además, probar desde múltiples navegadores. El requisito indispensable es que el navegador que queramos probar ha de estar instalado en el servidor, y éste debería tener interfaz gráfica disponible (no lo he probado sin ella, por lo que no descarto que se pueda hacer un apaño)

Otra de las ventajas, es que se pueden “automatizar” las pruebas a través de procesos lanzados por herramientas como Jenkins o un simple cronjob.

Para instalarlo, además de tener PHPUnit y el navegador con el que queramos testar la web, debemos descargarnos Selenium Server desde la siguiente url

Una vez descargado, habría que ejecutar la siguiente línea en consola (supongo que tenéis java instalado en el servidor/pc)

Al hacerlo, montará un servidor de pruebas y nos indicará la ip (con host y uri) del mismo. Deberemos utilizarlo para lanzar nuestro script de tests.

Os muestro uno de pruebas (que está incluido en la librería adjunta)

Gran parte del código podemos generarlo automáticamente desde el plugin de Firefox, pero es bastante intuitivo y sencillo, aunque hacer una buena batería de test en Selenium es un proceso largo y costoso.

Os dejo el ejemplo anterior y las librerías necesarias (desarrolladas por Facebook para sus pruebas en PHP) en el siguiente enlace.

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)

Esta entrada fue publicada en Aplicaciones Web, Php, Pruebas y etiquetada , , , , , , por DGCmedia. Guarda enlace permanente.

4

reCaptcha. Qué es y cómo funciona

reCaptcha. Qué es y cómo funciona

Posted on por

El otro día, me pasaron un vídeo extremadamente interesante sobre los orígenes del reCaptcha (adquirido hace ya tiempo por Google)

[youtube:http://www.youtube.com/watch?v=y3Q28Y-tsYo]

Al parecer, al rellenar ese molesto campo con las palabras que se nos muestran (bastante ilegibles) y que tratan de evitar que los formularios web sean rellenados por robots, estamos ayudando a traducir millones de libros.

Me explico. Google lleva años intentando digitalizar el mayor número de libros, y tras escanear una página, la pasa por un OCR (Reconocimiento óptico de caracteres) y los guarda en su base de datos. Al parecer, cerca de un 30% de las palabras escaneadas son erróneas. Ahí es donde entramos todos nosotros (los cerca de 200 millones de personas que hemos rellenado un reCaptcha alguna vez)

El sistema pregunta por dos palabras, una que ya conoce y tiene traducida, y otra que desconoce y que intenta con esta ingeniosa idea descifrar. Cuando diez personas distintas indiquen cual es la palabra desconocida, el sistema la considera validada.

Os recomiendo el vídeo porque además de curioso, es bastante divertido. Podéis utilizar reCaptcha pulsando aquí

 

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Esta entrada fue publicada en APIS de Google, Php, Tecnología y etiquetada , , , , , por DGCmedia. Guarda enlace permanente.

1

Instalación de Zend Guard Loader en Linux

Instalación de Zend Guard Loader en Linux

Posted on por

Hay ciertas aplicaciones web desarrolladas en PHP, compuestas por archivos que están directamente compilados por Zend Guard para evitar su copia, manipulación o libre distribución.

Nuestro gestor de contenidos lo hace de esta manera, requiriendo funcionar en un servidor que tenga Zend Loader instalado.

Es muy sencillo, lo primero, nos movemos hasta la carpeta src:

Descargamos la versión más reciente de Zend para nuestro sistema operativo. En este caso, una versión de linux de 64b.

Descomprimimos:

Creamos una carpeta donde queramos tenerlo instalado y nos situamos en ella:

Movemos el archivo ZendGuardLoader.so a dicha carpeta:

Cambiamos de propietario del archivo indicando que éste es el root:

Perfecto, primera parte terminada. Ahora, buscaremos el archivo ioncube_loader en nuestro servidor.

Añadimos la siguiente línea:

Finalmente, reiniciamos apache y comprobamos que efectivamente, nuestro Servidor ya tiene instalado Zend Loader:

Nos mostrará algo similar a ésto:

Como siempre, esperamos haber servido de ayuda.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Esta entrada fue publicada en Beta Web Tool, Compilación, Configuraciones, Php, Seguridad, Servidores, Software y etiquetada , , por DGCmedia. Guarda enlace permanente.

12

Barra de progreso PHP

Barra de progreso PHP

Posted on por

A continuación, os voy a mostrar un código muy tonto pero extremadamente útil.

Cuando necesitéis lanzar un proceso en php de cierta duración, y queráis conocer el avance del mismo, podéis hacer una barra de progreso fácilmente con las siguientes líneas de código.

Evidentemente, el ancho del progreso (en px) habrá que calcularlo de forma dinámica según el número de instrucciones o ciclos de vuestro script, pero en esencia, con esas líneas tan estúpidas todo os será un poquito más fácil.

Además, con ello evitáis el timeout del navegador. Si el proceso es extremadamente largo, podéis poner otro par de líneas salvadoras en la cabecera del script y éste se ejecutará…sí o sí.

Ya os veo a todos pensando en hacer una fantástica newsletter…. Eso, próximamente.

VN:F [1.9.22_1171]
Rating: 3.9/5 (14 votes cast)
VN:F [1.9.22_1171]
Rating: +8 (from 10 votes)

Esta entrada fue publicada en Php y etiquetada , , por DGCmedia. Guarda enlace permanente.

21

Obtener una dirección desde Google Maps

Obtener una dirección desde Google Maps

Posted on por

Hoy vamos a trabajar con la API de Google Maps.

En primer lugar, vamos a montar un mapa en el que, al hacer click, Google de forma automática nos proporcione la dirección de la posición elegida. Ésto dará otra nueva funcionalidad a nuestra página web haciéndola más atractiva y dinámica.

Ya sabéis nuestra teoría, “con lo que cuesta que lleguen, hay que hacer que los usuarios se queden”, y no hay mejor forma que proporcionar al usuario de nuestra página web herramientas para que interaccione con nuestro proyecto.

Para ello, trabajaremos en Java Script (jQuery) y tenemos una función que monta un mapa de Google Maps pasándole como parámetros una latitud, una longitud y un zoom.

A continuación, añadimos la función autocompletar, al que al pasarle un marcador de Google (marker) intenta obtener la dirección física que le corresponde, con todos sus datos (calle, número, código postal, municipio, provincia, comunidad autónoma y país)

Como podéis ver, esta función hace una consulta a la función consultaGoogle. Esta función es bidireccional, y puede obtener la dirección dándole unas coordenadas o viceversa.

De nuevo, esta función (como no podía ser de otra manera) requiere de un último fragmento de código. Éste es php y es consultado por ajax. Se le envía la consulta y él, según los parámetros recibidos, envía la petición a Google vía CURL, la procesa (es más fácil trabajar con arrays y json en php que en Java Script en mi humilde opinión) y nos devuelve el resultado.

Y es así de sencillo (sobre todo si cogéis estas funciones ya desarrolladas)

¡Esperamos que os sea de utilidad!

VN:F [1.9.22_1171]
Rating: 3.9/5 (9 votes cast)
VN:F [1.9.22_1171]
Rating: +3 (from 5 votes)

Esta entrada fue publicada en APIS de Google, Google Maps, JavaScript, Php y etiquetada , , , por DGCmedia. Guarda enlace permanente.

Contacto

Su nombre*

E-Mail*

Asunto*

Mensaje*

Captcha
Otro Captcha

Captcha*