Question

Comment obtenir une liste complète de toutes les URL que mon application rails pourrait générer?

Je ne veux pas que les itinéraires que je reçois obtiennent des itinéraires de type rake, je souhaite plutôt obtenir les URL d'actul correspondant à toutes les pages générées de manière dynmique dans mon application ...

Est-ce même possible?

(Contexte: je le fais parce que je veux une liste complète d’URL pour les tests de charge que je veux effectuer, ce qui doit couvrir toute l’étendue de l’application)

Était-ce utile?

La solution

J'ai pu produire une sortie utile avec la commande suivante:

$ 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

Une référence rapide des arguments wget :

# --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.

À propos de ack

ack est comme grep mais utilisez des expressions rationnelles perl , qui sont plus complètes / puissantes.

-o indique à ack de ne générer que la sous-chaîne correspondante, et le modèle que j'ai utilisé recherche tout ce qui n'est pas un espace précédé de 'URL:'

Autres conseils

Vous pouvez très rapidement regrouper un programme qui récupère la sortie de routes de râteau , puis analyse la sortie pour constituer une liste des URL.

Ce que j'ai généralement fait pour le test de charge est d'utiliser un outil tel que WebLOAD et de rédiger un script pour différents types de sessions utilisateur (ou différents itinéraires que les utilisateurs peuvent emprunter). Ensuite, je crée un mélange de sessions utilisateur et les dirige sur le site Web pour obtenir une image fidèle du fonctionnement du site.

En règle générale, je le ferai également sur 4 machines différentes exécutant environ 80 sessions utilisateur simultanées afin de simuler de manière réaliste ce qui se passera dans l'application. Cela me permet également de ne pas perdre trop de temps à optimiser les pages rarement visitées et de me concentrer sur les performances globales des applications le long des chemins critiques.

Découvrez les tests d’intégration de l’araignée écrits par Courtnay Gasking

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top