Logo de La Coctelera

Garbage In, Garbage Out

Diseño web, tecnología, e internet.

Categoría: desarrollo / recetas

15 Septiembre 2006

Haciendo pruebas con Selenium

Selenium es una aplicación que permite realizar pruebas funcionales sobre una página web. Existen varias plataformas, pero yo voy a centrarme en Selenium-IDE para Firefox.

Pantallazo de Selenium

Se trata de una extensión Firefox que instala todo un entorno para la realización de pruebas. Para ver cómo funciona, sin más palabras, lo mejor es ver el video demostrativo.

El objetivo principal es grabar las acciones que realizas sobre el navegador para hacer una prueba. Selenium almacena esas acciones mediante un lenguaje propio. El lenguaje propio está integrado en Selenium Core y permite ralizar acciones, e insertar asertos (assertions, como en jUnit).

servido por gigo 2 comentarios compártelo favorito

31 Julio 2006

Aptana: IDE para la Web 2.0

Acabo de ver en Menéame una referencia a un IDE para la que llaman Web 2.0 llamado Aptana. No lo he mirado en profundidad, pero tiene buena pinta. Está lleno de pantallazos y videos.

servido por gigo 3 comentarios compártelo favorito

15 Junio 2006

Soundex: Quizás quiso decir... (Did you mean...)

¿Os habéis preguntado alguna vez qué algoritmo emplea Google cuando te sugiere una búsqueda que has escrito mal?

Por ejemplo, si te equivocas escribiendoy en lugar de teclear "libros", buscas "lirbos", Google te saca el siguiente mensaje:

Quizás quiso decir: libros

Bien, no sé el algoritmo exacto que Google emplea, pero yo he encontrado uno que creo que sienta la base de todos: el algoritmo Soundex (mejor ver la explicación en ingles del algoritmo)

Básicamente, trata de indexar palabras parecidas a través de su pronunciación. El psudocódigo es el siguiente:

1. Retain the first letter of the string
2. Remove all occurrences of the following letters, unless it is the first letter: a, e, h, i, o, u, w, y
3. Assign numbers to the remaining letters (after the first) as follows:
* b, f, p, v = 1
* c, g, j, k, q, s, x, z = 2
* d, t = 3
* l = 4
* m, n = 5
* r = 6
4. If two or more letters with the same number were adjacent in the original name (before step 1), or adjacent except for any intervening h and w (American census only), then omit all but the first.
5. Return the first four bytes padded with 0.

Y aquí hay una implementación en Java y otra implementación en Java.

servido por gigo 4 comentarios compártelo favorito

14 Junio 2006

Banco de pruebas para portales: OpenSTA

Hoy vuelvo a tener esa sensación de vértigo a ser un completo ignorante. Si aún hoy me entero de la existencia de estas herramientas, ¿cuántas aplicaciones útiles puede haber por ahi que aún no conozca y todo el mundo usa?

Seguramente mucha gente ya conoce esta herramienta, pero yo acabo de enterarme ahora y quiero apuntarlo para cuando vuelva a necesitarla. Además, si salvo a más gente del profundo lago de la ignorancia, pués mejor. [guiño]

Mi compañero me acaba de hablar de OpenSTA. Es lo que él llama un estresador. Sirve para realizar pruebas intensas sobre un portal.

Para realizar las pruebas, el proceso que hay que seguir se puede dividir en dos pasos:

  • Se crean pruebas sencillas a partir de la grabación de acciones de usuario.

    Se configura el programa para crear un proxy que se encargará de grabar las acciones del usuario, es decir, las peticiones y las respuestas del servidor. Luego se configura el navegador para conectar a ese proxy, y se pone a grabar las acciones en el OpenSTA. Se realiza la prueba manualmente y cuando se termina, se para la grabación, y se guarda el script generado de la prueba.

    Por ejemplo, si queremos probar el módulo de altas de usuarios de nuestra aplicación, configuramos el proxy del OpenSTA, y nuestro navegador Firefox para conectarse al proxy. Ponemos el OpenSTA a grabar nuestras acciones. Se realiza la prueba manualmente: se entra en la aplicación, creamos un usuario. Paramos la grabación, y guardamos el script generado.

  • Se realizan baterías de pruebas.

    Una vez se tengan creadas unas cuantas pruebas a partir de las acciones del usuario (altas, bajas, modificaciones...), se utilizan para realizar baterías de pruebas intensas con uno o varios usuarios. El programa ejecuta las pruebas simples y cuando termina, proporciona gran cantidad de datos acerca de las pruebas.

servido por gigo 7 comentarios compártelo favorito

13 Junio 2006

Eliminar la publicidad de Google

A través del blog de Emmanuelle Gutiérrez y Restrepo, acabo de encontrar un modo efectivo de eliminar la publicidad de Google.

El truco es sencillo. Sólo hay que editar el fichero hosts y añadir lo siguiente:

# [Google Inc]
127.0.0.1 adwords.google.com
127.0.0.1 pagead.googlesyndication.com
127.0.0.1 pagead2.googlesyndication.com
127.0.0.1 adservices.google.com
127.0.0.1 imageads.googleadservices.com
127.0.0.1 imageads1.googleadservices.com
127.0.0.1 www.googleadservices.com
127.0.0.1 apps5.oingo.com

El fichero "hosts" se encuentra en:

  • Windows 95/98/Me c:\windows\hosts
  • Windows NT/2000/XP Pro c:\winnt\system32\drivers\etc\hosts
  • Windows XP Home c:\windows\system32\drivers\etc\hosts (Para Windows NT/2000/XP es necesario tener acceso como administrador)

Salvo GMail, el resto desaparecen todos. De forma, rápida y eficaz.

Si además quieres eliminar el seguimiento de estadísticas Google Analytics, añade esta línea:

# [Google Inc]
127.0.0.1 www.google-analytics.com

servido por gigo sin comentarios compártelo favorito

11 Abril 2006

Detectando idioma del navegador

El idioma del navegador se detecta leyendo el valor de la variable de cabecera HTTP_ACCEPT_LANGUAGE. Concretamente, en PHP, el valor de esta variable está en:

$_SERVER['HTTP_ACCEPT_LANGUAGE']

El valor de esta variable depende. En el navegador Microsoft Internet Explorer se obtiene el valor "es"; en mi navegador Opera obtengo "en"; y en cambio en el Firefox se obtiene la ristra "es,en-us;q=0.7,en;q=0.3".

En Internet Explorer y Opera es fácil entender los valores: es un único código del idioma del navegador. En cambio, en Firefox, obtenemos una lista de tres grupos de códigos de idiomas separados por comas:

  • es
  • en-us;q=0.7
  • en;q=0.3

Cada grupo puede estar dividido en dos partes: la primera parte indica el código del idioma; y la segunda, la que tiene un "q", indica la preferencia del lenguaje. El valor de q puede ir de 0 a 1, siendo el 1 el idioma de mayor preferencia y 0 el de menor preferencia.

En este caso, "es" no tiene definida la "q", pero sé que es el lenguaje de mayor preferencia porque así lo tengo definido en mis opciones (Herramientas > Opciones > Avanzado > Editar Idioma). De ahi deduzco que cuando no aparece la "q", se asume que tiene valor 1. De todas formas, está claro que Firefox envía los idiomas ordenados de izquierda a derecha.

Sabiendo esto, hacer un algoritmo que detecte el idioma del navegador es relativamente fácil. En PHP, sería algo así como esto:

Esto es todo. Espero que os sirva.

Fuente del artículo: Supporting user language preferences with HTTP_ACCEPT_LANGUAGE

servido por gigo sin comentarios compártelo favorito


Sobre mí

Avatar de gigo

Garbage In, Garbage Out

ver perfil »
contacto »
Desarrollador web con ganas de aprender y enseñar, porque aún queda mucho por aprender y por enseñar. Uso esta bitácora para hacer mis apuntes profesionales y de paso contribuir a ayudar a mis compañeros de, ésta, mi profesión. [guiño]

Sindicación

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera