lunes, 16 de enero de 2012

SCONS - software construction tool

Muy interesante, una herramienta de construcción de software por lo visto muy poderosa, de la que no había oido hablar antes, SCONS. Tiene soporte integrado para una gran para C, C++, D, Java, Fortran, Yacc, Lex, Qt y SWIG, y para construir documentos TeX y LaTeX. Aunque no estoy muy familiarizado con este campo, es probable que existan alternativas más interesantes, porque la web me pareció un pelín desactualizada, pero podría ser un buen punto de partida.

http://www.scons.org/

jueves, 29 de diciembre de 2011

Buscar / reemplazar en Visual Studio, usando expresiones regulares. Capturando grupos.

Vamos a ver como se capturan los grupos usando expresiones regulares en Visual Studio.
A diferencia de otros entornos, los grupos no se capturan con ( ), sino con { }.
Para hacer referencia a los grupos capturados se emplea la misma notación que en notepad++: \1 para el primer grupo, \2 para el segundo,...

Por ejemplo queremos capturar el contenido de una cadena que empieza por 'a':

^{a.*}


Y queremos reemplazarla por una concatenación de dos cadenas como esas:
\1\1


Por ejemplo,
Entrada:
a2343
basdasd
qweds
afasd

Salida:
a2343a2343
basdasd
qweds
afasdafasd


Vía:
Referencia de buscar/reemplazar en MSDN.

lunes, 26 de diciembre de 2011

Chuleta para expresiones regulares

Vía: http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

Evitar que carguen tu página en un iframe

if((self.parent && !(self.parent===self)) && (self.parent.frames.length != 0)){
self.parent.location=document.location;
}
Implementación vista en yandex.ru, en su versión de 2009.

Vía: http://rmcreative.ru/blog/post/ne-dat-zagruzhat-stranitsu-v-iframe

viernes, 16 de diciembre de 2011

Sikuli - Automatización de pruebas del GUI

¡Y no sólo del GUI(interfaz gráfica de usuario)! Cada vez soporto menos repetir mñas de un par de veces una tarea. Enseguida, busco una forma de automatizarla. Y estoy encantado con Selenium IDE. Ahora mi nivel de vaguedad ha llegado a tal punto, que tampoco quiero arrancar las aplicaciones del escritorio y cargar las pruebas. Siempre o casi siempre lo mismo, quiero pulsar un botón y que se arranque el navegador, se compiler y se despliegue el proyecto, arrancar selenium IDE, cargar las pruebas, que se ejecuten, que se comprueben los resultados,...

Mi último descubrimiento en este campo, con el que espero conseguirlo, es SIKULI.

Permite automatizar la interacción con todo lo accesible y visible en el escritorio, para un montón de plataformas, Windows, Mac, Linux,...

En ello estoy. Prometo compartir mis éxitos y fracasos en ésta tarea :)

jueves, 15 de diciembre de 2011

Ruta relativa de los ficheros desde JMETER

MERDE! Después de traducirlo y probarlo, resulta que la solución que pongo a continuación sólo funciona para ficheros de entrada y salida de los listeners, pero no para scripts externos en samplers. ¡SHIT! ¿Alguien sabe cómo se podría hacer también para samplers?

En los distintos sitios donde podamos hacer referencia a ficheros externos al plan de pruebas, las rutas de los mismos se pueden especificar de dos maneras distintas:
  • ruta absoluta
  • ruta relativa
Las rutas relativas se resuelven en base al directorio actual de trabajo (que por defecto es bin/, donde se encuentra el jmeter.sh o jmeter.bat). A partir de la versión 2.4 de JMeter (aleluya!), existe la posibilidad de utilizar rutas relativas al directorio que contiene el fichero correspondiente al plan actual de pruebas (el fichero JMX). Para ello, la ruta debe comenzar con "~/" (o lo que hayas definido en la propiedad jmeter.save.saveservice.base_prefix, que normalmente se encuentra comentada en el fichero bin/jmeter.properties). En ese caso, las rutas se asumirán como relativas a la localización del fichero JMX.

#jmeter.save.saveservice.base_prefix=~/

Si cambiamos la propiedad y tenemos pensado ejecutar el plan de pruebas en otras instalaciones de jmeter, tendremos que redefinir en ellas también dicha propiedad. Por lo que, por lo general, lo mejor es dejarla como está, para evitarnos quebraderos de cabeza en la portabilidad.

El texto original, que he traducido, se puede encontrar en la sección de listeners del manual de JMeter.

Tiene toda la lógica, y no se entiende que no se haya incluido desde el principio. Desde que apareció la posibilidad de añadir elementos externos al plan de pruebas, debía existir de referenciar esos elementos con relación al fichero de definición del plan y no al ejecutable de jmeter. Así puedo empaquetar y compartir los elementos propios de un plan de pruebas, sin necesidad de restringir la instalación de JMeter en los demás equipos donde quiera que se ejecute.

miércoles, 7 de diciembre de 2011