8b. Construindo um Plano de Teste de LDAP Estendido ¶
Nesta seção, você aprenderá como criar um Plano de Teste básico para testar um servidor LDAP.
Como o Extended LDAP Sampler é altamente configurável, isso também significa que leva algum tempo para construir um plano de teste correto. No entanto, você pode ajustá-lo exatamente de acordo com suas necessidades.
Você criará 1 usuário que enviará solicitações para nove testes no servidor LDAP. Além disso, você dirá aos usuários para executarem seus testes uma vez. Portanto, o número total de solicitações é (1 usuário) x (9 solicitações) x (repetir 1 vez) = 9 solicitações LDAP. Para construir o Plano de Teste, você usará os seguintes elementos:
Grupo de Threads ,
Adicionando Padrões de Solicitação Estendida LDAP ,
Adicionando Solicitações LDAP e
Adicionando um Ouvinte para Exibir/Armazenar os Resultados do Teste
Este exemplo pressupõe que o servidor LDAP esteja disponível em ldap.test.com .
Para os usuários LDAP menos experientes, eu construo um pequeno tutorial LDAP que explica resumidamente as várias operações LDAP que podem ser usadas na construção de um plano de teste complexo.
Tome cuidado ao usar caracteres especiais LDAP no nome distinto, nesse caso (por exemplo, você deseja usar um sinal + em um nome distinto) você precisa escapar do caractere adicionando um sinal " \ " antes desse caractere. Exceção extra: se você deseja adicionar um caractere \ em um nome distinto (em uma operação de adição ou renomeação), você precisa usar 4 barras invertidas.
Exemplos:
- cn=dolf\+smits
- para adicionar/pesquisar uma entrada com o nome como cn=dolf+smits
- cn=dolf \\ smits
- para pesquisar uma entrada com o nome cn=dolf \ smits
- cn=c:\\\\log.txt
- para adicionar uma entrada com um nome como cn=c:\log.txt
8b.1 Adicionando Usuários ¶
A primeira etapa que você deseja fazer com cada Plano de Teste JMeter é adicionar um elemento Thread Group. O Thread Group informa ao JMeter o número de usuários que você deseja simular, com que frequência os usuários devem enviar solicitações e quantas solicitações devem ser enviadas.
Vá em frente e adicione o elemento Thread Group selecionando primeiro o Test Plan , clicando com o botão direito do mouse para obter o menu Add e, em seguida, selecione Add → Threads (Users) → Thread Group . Agora você deve ver o elemento Thread Group em Test Plan . Se você não vir o elemento, então "expanda" a árvore do Plano de Testes clicando no elemento Plano de Testes.
8b.2 Adicionando Padrões de Solicitação Estendida de LDAP ¶
Comece selecionando o elemento LDAP Ext Users. Clique com o botão direito do mouse para obter o menu Adicionar e selecione Adicionar → Elemento de configuração → Padrões de solicitação estendida do LDAP . Em seguida, selecione este novo elemento para visualizar seu Painel de Controle.
Como a maioria dos elementos JMeter, o Painel de Controle de Padrões de Solicitação Estendida do LDAP tem um campo de nome que você pode modificar. Neste exemplo, deixe este campo com o valor padrão.
Para cada uma das diferentes operações, alguns valores padrão podem ser preenchidos. Em todos os casos, quando um padrão é preenchido, ele é usado para as solicitações estendidas do LDAP. Para cada solicitação, você pode substituir os padrões preenchendo os valores no amostrador de solicitação estendida do LDAP. Quando não for inserido nenhum valor necessário para um teste, o teste falhará de maneira imprevisível!
Não inseriremos nenhum valor padrão aqui, pois criaremos um plano de teste muito pequeno, portanto, explicaremos todos os campos diferentes quando adicionarmos os amostradores estendidos do LDAP.8b.3 Adicionando Solicitações LDAP ¶
Em nosso Plano de Teste, queremos usar todas as 9 solicitações LDAP.
- Ligação de thread
- Teste de pesquisa
- Comparar teste
- Teste de vinculação/desvinculação única
- Adicionar teste
- Modificar teste
- Renomear entrada (moddn)
- Excluir teste
- Desvincular thread
O JMeter envia solicitações na ordem em que você as adiciona à árvore.
A adição de solicitações sempre começa por:
Adicionando a Solicitação Estendida do LDAP ao elemento Usuários Ext do LDAP ( Adicionar →
Amostrador → Solicitação Ext do LDAP ). Em seguida, selecione o elemento LDAP Ext Request na árvore e edite as propriedades a seguir.
8b.3.1 Adicionando uma Solicitação de Ligação de Thread ¶
- Renomeie o elemento: " 1. Thread bind "
- Selecione o botão " Thread bind ".
- Insira o valor do nome do host do servidor LDAP no campo Nome do servidor
- Insira o número da porta do servidor LDAP ( 636 : ldap over SSL) no campo da porta
-
(Opcional) Insira o baseDN no campo DN, este baseDN será usado como ponto de partida para pesquisas, adicionar, excluir
etc. em ou=Usuários, dc=test, dc=com , você pode usar esse valor no arquivo basedn.
- (Opcional) Insira o nome distinto do usuário que você deseja usar para autenticação. Quando este campo for mantido vazio, será estabelecido um vínculo anônimo.
- (Opcional) Digite a senha do usuário com o qual você deseja se autenticar, uma senha vazia também levará a um vínculo anônimo.
- (Opcional) Insira um valor para o tempo limite de conexão com LDAP
- (Opcional) Marque a caixa Use Secure LDAP Protocol se você acessar com LDAP sobre SSL (ldaps)
- (Opcional) Marque a caixa TrustAll se desejar que o cliente confie em todos os certificados
8b.3.2 Adicionando uma solicitação de pesquisa ¶
- Renomeie o elemento: " 2. Teste de pesquisa "
- Selecione o botão " Pesquisar teste ".
-
(Opcional) insira a base de pesquisa na qual você deseja realizar a pesquisa, relativa ao basedn, usado na solicitação de ligação de encadeamento.
Quando deixado em branco, o basedn é usado como base de pesquisa, este arquivo é importante se você quiser usar uma pesquisa "base-entry" ou "one-level" (veja abaixo) - Digite o filtro de pesquisa, qualquer filtro de pesquisa LDAP decente servirá, mas por enquanto, use algo simples, como (sn=Doe) ou (cn=*)
-
(Opcional) Insira o escopo no campo escopo, ele tem três opções:
- baseobject search
apenas a base de pesquisa fornecida é usada, apenas para verificar atributos ou existência. - pesquisa de um nível Sóéusada a pesquisa
num nível abaixo da base de pesquisa dada - pesquisa de subárvore
Procura objetos em qualquer ponto abaixo do dado basedn
- baseobject search
- (Opcional) Limite de tamanho, especifica o número máximo de entradas retornadas,
-
(Opcional) Limite de tempo, especifica o número máximo de milissegundos que o SERVIDOR pode usar para realizar a pesquisa. NÃO é o tempo máximo que o aplicativo aguardará.
Quando um returnset muito grande é retornado, de um servidor muito rápido, em uma linha muito lenta, você pode ter que esperar por muito tempo para a conclusão da solicitação de pesquisa, mas esse parâmetro não influenciará isso. -
(Opcional) Atributos que você deseja na resposta da pesquisa. Isso pode ser usado para limitar o tamanho da resposta, especialmente quando um objeto possui atributos muito grandes (como jpegPhoto ). Existem três possibilidades:
- Deixe vazio (a configuração padrão também deve estar vazia) Isso retornará todos os atributos.
- Coloque em um valor vazio ( "" ), ele solicitará atributos inexistentes, então na realidade não retorna nenhum atributo
- Coloque os atributos, separados por ponto e vírgula. Ele retornará apenas os atributos solicitados
-
(Opcional) Objeto de retorno. Checked retornará todos os atributos do objeto java, ele os adicionará aos atributos solicitados, conforme especificado acima.
Desmarcado significa que nenhum atributo de objeto java será retornado. - (Opcional) Desreferenciar aliases. Checked significa que seguirá referências, Unchecked diz que não.
- (Opcional) Analisar os resultados da pesquisa?. Checked significa que obtém todos os resultados em dados de resposta, Unchecked diz que não.
8b.3.3 Adicionando uma Solicitação de Comparação ¶
- Renomeie o elemento: " 3. Compare Test "
- Selecione o botão " Comparar ".
- digite o nome da entrada do objeto no qual você deseja que a operação de comparação funcione, em relação ao basedn, por exemplo " cn=jdoe,ou=Users "
- Insira o filtro de comparação, este deve estar no formato " attribute=value ", ex: " mail=jdoe@test.com "
8b.3.4 Adicionando um Single bind/unbind ¶
- Renomeie o elemento: " 4. Teste de vinculação/desvinculação única "
- Selecione o botão " Single bind/unbin ".
-
Insira o nome distinto COMPLETO do usuário que você deseja usar para autenticação.
Ex . cn=jdoe,ou=Usuários,dc=test,dc=com Quando este campo é mantido vazio, um vínculo anônimo será estabelecido. - Digite a senha do usuário com o qual você deseja se autenticar, uma senha vazia também levará a um vínculo anônimo.
8b.3.5 Adicionando uma Solicitação de Adição ¶
- Renomeie o elemento: " 5. Adicionar teste "
- Selecione o botão " Adicionar ".
- Insira o nome distinto para o objeto a ser adicionado, relativo ao basedn.
-
Adicione uma linha na tabela " add test ", preencha o atributo e o valor.
Quando você precisar do mesmo atributo mais de uma vez, basta adicionar uma nova linha, adicionar o atributo novamente e um valor diferente.
Todos os atributos e valores necessários devem ser especificados para passar no teste, veja a imagem!
(às vezes o servidor adiciona o atributo " objectClass=top ", isso pode dar um problema.
8b.3.6 Adicionando uma Solicitação de Modificação ¶
- Renomeie o elemento: " 6. Modificar Teste "
- Selecione o botão " Modificar teste ".
- Insira o nome distinto para o objeto a ser modificado, relativo ao basedn.
- Adicione uma linha na tabela " modificar teste ", com o botão " adicionar ".
-
Você precisa inserir o atributo que deseja modificar, (opcional) um valor e o opcode. O significado deste opcode:
- adicionar
- isso significa que o valor do atributo (não opcional neste caso) será adicionado ao atributo.
Quando o atributo não existe, ele será criado e o valor
adicionado.
quando existe, mas com valor único, falhará. - substituir
-
Isso substituirá o atributo pelo novo valor fornecido (não opcional aqui)
Quando o atributo não existir, ele será criado e o valor adicionado
. Quando ele existir, os valores antigos serão removidos, o novo valor será adicionado. - excluir
-
Quando nenhum valor for fornecido, todos os valores serão removidos
Quando um valor for fornecido, somente esse valor será removido
quando o valor fornecido não existir, o teste falhará
-
(Opcional) Adicione mais modificações na tabela " modificar teste ".
Todas as modificações especificadas devem ser bem-sucedidas para que o teste de modificação seja aprovado. Quando uma modificação falhar, NENHUMA modificação será feita e a entrada permanecerá inalterada.
8b.3.7 Adicionando uma Solicitação de Renomeação (moddn) ¶
- Renomeie o elemento: " 7. Renomeie a entrada (moddn) "
- Selecione o botão " Renomear entrada ".
-
Digite o nome da entrada, relativo ao baseDN, no campo " nome da entrada antiga ".
isto é, se você quiser renomear " cn=Little John Doe,ou=Users ", e você definir o baseDN para " dc=test,dc=com ", você precisa digitar " cn=John Junior Doe,ou=Users " no nome de entrada antigo -Field. -
Insira o novo nome da entrada, em relação ao baseDN, no campo " novo nome distinto ".
quando você altera apenas o RDN, ele simplesmente renomeia a entrada
quando você também adiciona uma subárvore diferente, por exemplo, você altera de cn=john doe,ou=Users para cn=john doe,ou=oldusers , ele move a entrada. Você também pode mover uma subárvore completa (se seu servidor LDAP suportar isso!), por exemplo, ou=Users,ou=retired , para ou=oldusers,ou=users , isso moverá a subárvore completa, mais todas as pessoas aposentadas na subárvore para o novo lugar na árvore.
8b.3.8 Adicionando uma Solicitação de Exclusão ¶
- Renomeie o elemento: " 8. Excluir Teste "
- Selecione o botão " Excluir ".
-
Insira o nome da entrada, relativo ao baseDN, no campo Delete .
ou seja, se você deseja remover " cn=John Junior Doe,ou=Users,dc=test,dc=com ", e você define o baseDN como " dc=test,dc=com ", você precisa digitar " cn =John Junior Doe,ou=Usuários " no campo Excluir .
8b.3.9 Adicionando uma solicitação de desvinculação ¶
- Renomeie o elemento: " 9. Thread unbind "
- Selecione o botão " Desvincular thread ". Isso será suficiente, pois apenas fecha a conexão atual. As informações necessárias já são conhecidas pelo sistema
8b.4 Adicionando um Ouvinte para Visualizar/Armazenar os Resultados do Teste ¶
O elemento final que você precisa adicionar ao seu Plano de Teste é um Ouvinte. Este elemento é responsável por armazenar todos os resultados de suas solicitações LDAP em um arquivo e apresentar um modelo visual dos dados. Selecione o elemento Thread group e adicione uma View Results Tree ( Adicionar → Listener → View Results Tree )
Neste listener você tem três guias para visualizar, o resultado do amostrador, o pedido e os dados de resposta.
- O resultado do amostrador contém apenas o tempo de resposta, o código de retorno e a mensagem de retorno
- A solicitação fornece uma breve descrição da solicitação que foi feita, na prática, nenhuma informação relevante está contida aqui.
- Os dados de resposta contêm os detalhes completos da solicitação enviada, bem como os detalhes completos da resposta recebida, isso é fornecido em um estilo xml (autodefinido). A descrição completa pode ser encontrada aqui.