Pregunta

¿Cómo obtengo una lista completa de todas las URL que mi aplicación Rails podría generar?

No quiero que las rutas que obtengo obtengan rutas rake, sino que quiero obtener las URL reales que correspondan a todas las páginas generadas dinámicamente en mi aplicación...

¿Es esto siquiera posible?

(Fondo:Estoy haciendo esto porque quiero una lista completa de URL para algunas pruebas de carga que quiero hacer, que deben cubrir toda la aplicación).

¿Fue útil?

Solución

Pude producir resultados útiles con el siguiente comando:

$ wget --spider -r -nv -nd -np http://localhost:3209/ 2>&1 | ack -o '(?<=URL:)\S+'
http://localhost:3209/
http://localhost:3209/robots.txt
http://localhost:3209/agenda/2008/08
http://localhost:3209/agenda/2008/10
http://localhost:3209/agenda/2008/09/01
http://localhost:3209/agenda/2008/09/02
http://localhost:3209/agenda/2008/09/03
^C

Una referencia rápida de la wget argumentos:

# --spider                  don't download anything.
# -r,  --recursive          specify recursive download.
# -nv, --no-verbose         turn off verboseness, without being quiet.
# -nd, --no-directories     don't create directories.
# -np, --no-parent          don't ascend to the parent directory.

Acerca de ack

ack es como grep pero usa perl expresiones regulares, que son más completas/poderosas.

-o dice ack para generar solo la subcadena coincidente, y el patrón que usé busca cualquier cosa que no sea un espacio precedida por 'URL:'

Otros consejos

Podrías crear rápidamente un programa que capture la salida de rake routes y luego analiza el resultado para armar una lista de las URL.

Lo que normalmente he hecho para las pruebas de carga es usar una herramienta como WebCARGAR y programar varios tipos diferentes de sesiones de usuario (o diferentes rutas que los usuarios pueden tomar).Luego creo una combinación de sesiones de usuario y las ejecuto a través del sitio web para obtener algo parecido a una imagen precisa de cómo podría funcionar el sitio.

Normalmente también haré esto en un total de 4 máquinas diferentes ejecutando alrededor de 80 sesiones de usuario simultáneas para simular de manera realista lo que sucederá a través de la aplicación.Esto también garantiza que no dedique demasiado tiempo a optimizar páginas visitadas con poca frecuencia y que pueda, en cambio, concentrarme en el rendimiento general de la aplicación a lo largo de las rutas críticas.

Consulte las pruebas de integración de Spider escritas por Courtnay Gasking

http://pronetos.googlecode.com/svn/trunk/vendor/plugins/spider_test/doc/classes/Caboose/SpiderIntegrator.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top