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 AddThreads (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.


Figura 8b.1.  Grupo de threads com valores padrão
Figura 8b.1. Grupo de threads com valores padrão

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 AdicionarElemento de configuraçãoPadrõ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.


  Figura 8b.2 Padrões LDAP para nosso Plano de Teste

Figura 8b.2 Padrões LDAP para nosso Plano de Teste

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.

  1. Ligação de thread
  2. Teste de pesquisa
  3. Comparar teste
  4. Teste de vinculação/desvinculação única
  5. Adicionar teste
  6. Modificar teste
  7. Renomear entrada (moddn)
  8. Excluir teste
  9. 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 ( AdicionarAmostradorSolicitaçã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

  1. Renomeie o elemento: " 1. Thread bind "
  2. Selecione o botão " Thread bind ".
  3. Insira o valor do nome do host do servidor LDAP no campo Nome do servidor
  4. Insira o número da porta do servidor LDAP ( 636 : ldap over SSL) no campo da porta
  5. (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.
  6. (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.
  7. (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.
  8. (Opcional) Insira um valor para o tempo limite de conexão com LDAP
  9. (Opcional) Marque a caixa Use Secure LDAP Protocol se você acessar com LDAP sobre SSL (ldaps)
  10. (Opcional) Marque a caixa TrustAll se desejar que o cliente confie em todos os certificados


Figura 8b.3.1.  Exemplo de encadernação de thread
Figura 8b.3.1. Exemplo de encadernação de thread

8b.3.2 Adicionando uma solicitação de pesquisa

  1. Renomeie o elemento: " 2. Teste de pesquisa "
  2. Selecione o botão " Pesquisar teste ".
  3. (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)
  4. Digite o filtro de pesquisa, qualquer filtro de pesquisa LDAP decente servirá, mas por enquanto, use algo simples, como (sn=Doe) ou (cn=*)
  5. (Opcional) Insira o escopo no campo escopo, ele tem três opções:
    1. baseobject search
      apenas a base de pesquisa fornecida é usada, apenas para verificar atributos ou existência.
    2. pesquisa de um nível Sóéusada a pesquisa
      num nível abaixo da base de pesquisa dada
    3. pesquisa de subárvore
      Procura objetos em qualquer ponto abaixo do dado basedn
  6. (Opcional) Limite de tamanho, especifica o número máximo de entradas retornadas,
  7. (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.
  8. (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:
    1. Deixe vazio (a configuração padrão também deve estar vazia) Isso retornará todos os atributos.
    2. Coloque em um valor vazio ( "" ), ele solicitará atributos inexistentes, então na realidade não retorna nenhum atributo
    3. Coloque os atributos, separados por ponto e vírgula. Ele retornará apenas os atributos solicitados
  9. (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.
  10. (Opcional) Desreferenciar aliases. Checked significa que seguirá referências, Unchecked diz que não.
  11. (Opcional) Analisar os resultados da pesquisa?. Checked significa que obtém todos os resultados em dados de resposta, Unchecked diz que não.


Figura 8b.3.2.  exemplo de solicitação de pesquisa
Figura 8b.3.2. exemplo de solicitação de pesquisa

8b.3.3 Adicionando uma Solicitação de Comparação

  1. Renomeie o elemento: " 3. Compare Test "
  2. Selecione o botão " Comparar ".
  3. 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 "
  4. Insira o filtro de comparação, este deve estar no formato " attribute=value ", ex: " mail=jdoe@test.com "


Figura 8b.3.3.  Comparar exemplo
Figura 8b.3.3. Comparar exemplo

8b.3.4 Adicionando um Single bind/unbind

  1. Renomeie o elemento: " 4. Teste de vinculação/desvinculação única "
  2. Selecione o botão " Single bind/unbin ".
  3. 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.
  4. 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.
Tome cuidado : Este único bind/unbind é, na realidade, duas operações separadas, mas não pode ser facilmente dividida!


Figura 8b.3.4.  Exemplo de vinculação/desvinculação única
Figura 8b.3.4. Exemplo de vinculação/desvinculação única

8b.3.5 Adicionando uma Solicitação de Adição

  1. Renomeie o elemento: " 5. Adicionar teste "
  2. Selecione o botão " Adicionar ".
  3. Insira o nome distinto para o objeto a ser adicionado, relativo ao basedn.
  4. 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.


Figura 8b.3.5.  Adicionar exemplo de solicitação
Figura 8b.3.5. Adicionar exemplo de solicitação

8b.3.6 Adicionando uma Solicitação de Modificação

  1. Renomeie o elemento: " 6. Modificar Teste "
  2. Selecione o botão " Modificar teste ".
  3. Insira o nome distinto para o objeto a ser modificado, relativo ao basedn.
  4. Adicione uma linha na tabela " modificar teste ", com o botão " adicionar ".
  5. 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á
  6. (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.


Figura 8b.3.6.  Modificar exemplo
Figura 8b.3.6. Modificar exemplo

8b.3.7 Adicionando uma Solicitação de Renomeação (moddn)

  1. Renomeie o elemento: " 7. Renomeie a entrada (moddn) "
  2. Selecione o botão " Renomear entrada ".
  3. 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.
  4. 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.


Figura 8b.3.7.  Renomear exemplo
Figura 8b.3.7. Renomear exemplo

8b.3.8 Adicionando uma Solicitação de Exclusão

  1. Renomeie o elemento: " 8. Excluir Teste "
  2. Selecione o botão " Excluir ".
  3. 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 .


Figura 8b.3.8.  Excluir exemplo
Figura 8b.3.8. Excluir exemplo

8b.3.9 Adicionando uma solicitação de desvinculação

  1. Renomeie o elemento: " 9. Thread unbind "
  2. 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


Figura 8b.3.9.  Exemplo de desvinculação
Figura 8b.3.9. Exemplo de desvinculação

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 ( AdicionarListenerView Results Tree )


Figura 8b.4.  Ver Ouvinte da Árvore de Resultados
Figura 8b.4. Ver Ouvinte da Árvore de Resultados

Neste listener você tem três guias para visualizar, o resultado do amostrador, o pedido e os dados de resposta.

  1. O resultado do amostrador contém apenas o tempo de resposta, o código de retorno e a mensagem de retorno
  2. A solicitação fornece uma breve descrição da solicitação que foi feita, na prática, nenhuma informação relevante está contida aqui.
  3. 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.

Go to top