Obtendo uma lista completa dos URLS em uma aplicação rails
-
01-07-2019 - |
Pergunta
Como faço para obter uma lista completa de todos os urls que a minha aplicação rails poderia gerar?
Eu não quero as rotas que eu conseguir obter rotas forma de rake, em vez disso, deseja obter as URLs actul corrosponding a todas as páginas dynmically gerados em minha aplicação ...
Isto é mesmo possível?
(Background: Eu estou fazendo isso porque eu quero uma lista completa de URLs para alguma carga testar eu quero fazer, que tem de cobrir toda a largura do aplicativo)
Solução
Eu era capaz de produzir saída útil com o seguinte 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
Uma referência rápida dos argumentos 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.
Sobre ack
ack
é como grep
mas o uso perl
regexps, que são mais completas / poderosa.
-o
diz ack
a única saída a substring correspondida, e o padrão que eu usei olhares para não-espaço nada precedido por 'URL:'
Outras dicas
Você poderia muito rapidamente cortar juntos um programa que pega a saída do rake routes
e, em seguida, analisa a saída para montar uma lista de URLs.
O que eu tenho, normalmente, feito para teste de carga é usar uma ferramenta como WebLOAD e roteiro vários tipos diferentes de sessões de usuário (ou rotas diferentes usuários podem tomar). Então eu criar uma mistura de sessões de usuário e executá-los através do site para obter algo próximo a um quadro preciso de como o site pode ser executado.
Normalmente eu também vai fazer isso em um total de 4 máquinas diferentes em execução cerca de 80 sessões de usuários simultâneos para simular de forma realista o que estará acontecendo através da aplicação. Isso também garante que eu não gastar excessivamente muito tempo otimização de páginas raramente visitados e pode, em vez disso, concentrado sobre o desempenho geral do aplicativo ao longo dos caminhos críticos.
Confira os testes Aranha Integração escrito por Courtnay Gasking