Depurar com a Emulator

aplica-se a: SDK v4

Bot Framework Emulator é um aplicativo da área de trabalho que permite aos desenvolvedores de bot testar e depurar bots localmente ou remotamente. Usando o Emulator, você pode conversar com seu bot e inspecionar as mensagens que seu bot envia e recebe. O Emulator exibe mensagens como elas apareceriam em uma interface do usuário do web chat e registra solicitações e respostas JSON enquanto você troca mensagens com o bot. Antes de implantar o bot na nuvem, execute-o localmente e teste-o usando o Emulator. Você pode testar seu bot usando o Emulator mesmo que ainda não o tenha criado com Serviço de Bot do Azure ou configurado para ser executado em qualquer canal.

Pré-requisitos

Executar um bot localmente

Antes de conectar o bot ao Bot Framework Emulator, você precisa executar o bot localmente. Você pode usar o Visual Studio, o Visual Studio Code ou a linha de comando para executar o bot. Para executar um bot usando a linha de comando, faça o seguinte:

  • Vá para o prompt de comando e altere o diretório para o diretório de projeto do bot.

  • Inicie o bot executando o seguinte comando:

    dotnet run
    
  • Copie o número da porta na linha antes de Aplicativo iniciado. Pressione Ctrl + C para desligar.

    Número da porta do C#

Neste ponto, seu bot está em execução localmente.

Conectar-se a um bot em execução no localhost

Definir configurações de proxy

Quando você estiver desenvolvendo por trás de um proxy corporativo, o Emulator usará as variáveis de ambiente configuradas e , que especificam a rota de URL de proxy para solicitações HTTP e HTTP_PROXY HTTPS_PROXY HTTPs, respectivamente.

Se você estiver se conectando a um bot em execução no , o Emulator primeiro tentará roteá-lo pelo localhost proxy antes de se conectar ao localhost . Normalmente, o proxy bloqueará a conexão, a menos que você especifique que ela deve ser ignorada para localhost .

Para ignorar as configurações e e permitir que o Emulator se conecte ao , no computador local, você deve definir a seguinte variável HTTP_PROXY HTTPS_PROXY de localhost ambiente:

NO_PROXY=localhost

Configurar o Emulator para autenticação

Se um bot exigir autenticação, exibindo uma caixa de diálogo de logon, você deverá configurar o Emulator conforme mostrado abaixo.

Como usar o código de verificação de entrada

  1. Inicie o Emulador.
  2. No Emulator, clique no ícone de engrenagem na parte inferior esquerda ou na Emulator Configurações no canto superior direito.
  3. Marque a caixa Usar um código de verificação de entrada para OAuthCards.
  4. Marque a caixa Ignorar ngrok para endereço local
  5. Clique no botão Salvar.

Ao clicar no botão de logon exibido pelo bot, um código de validação será gerado. Você inserirá o código na caixa de chat de entrada do bot para que a autenticação seja realizada. Depois disso, será possível executar as operações permitidas.

Como alternativa é possível executar as etapas descritas abaixo.

Como usar os tokens de autenticação

  1. Inicie o Emulador.
  2. No Emulator, clique no ícone de engrenagem na parte inferior esquerda ou na Emulator Configurações no canto superior direito.
  3. Marque a caixa Usar tokens de autenticação da versão 1.0.
  4. Insira o caminho local para a ferramenta ngrok. Para obter mais informações sobre a ferramenta, consulte ngrok.
  5. Marque a caixa Executar ngrok quando o emulador for iniciado.
  6. Clique no botão Salvar.

Ao clicar no botão de logon exibido pelo bot, você receberá uma solicitação para inserir suas credenciais. Um token de autenticação será gerado. Depois disso, será possível executar as operações permitidas.

Emulator de inicialização

Para se conectar a um bot em execução localmente, selecione Abrir bot. Adicione o número da porta que você copiou anteriormente na URL a seguir e cole a URL atualizada na barra URL do Bot:

http://localhost:número da porta/api/messages

Emulator diálogo abrir um bot

Se o bot é executado com credenciais da MSA (Conta Microsoft), insira-as também.

Usar credenciais do bot

Quando você abre o bot, defina a ID do aplicativo Microsoft e a senha do aplicativo Microsoft se seu bot está em execução com as credenciais. Se você criou seu bot com o Serviço de Bot do Azure, as credenciais estão disponíveis no Serviço de Aplicativo do bot, na seção Configurações -> Configuração. Se não souber os valores, você poderá remover aqueles do arquivo de configuração do bot sendo executado localmente e depois executar o bot no emulador. Se o bot não estiver em execução com essas configurações, você não precisará executar o Emulator com as configurações.

Ao criar um aplicativo de provedor de identidade do AD, lembre-se do seguinte:

  • Quando os tipos de conta com suporte são definidos como locatário único, se você usar uma assinatura pessoal em vez de um conta Microsoft, o Emulator emitirá o erro: A ID do Aplicativo microsoft do bot ou a Senha do Aplicativo da Microsoft está incorreta..
  • Nesse caso, os tipos de conta compatíveis devem ser definidos como Contas em qualquer diretório organizacional (Qualquer diretório do Azure AD – Multilocatário) e contas pessoais Microsoft (por exemplo, Xbox) .

Para obter mais informações, consulte Criar um aplicativo de provedor de identidade do Azure AD e Registrar um novo aplicativo usando o portal do Azure.

Exibir a atividade de mensagem detalhada com o Inspetor de

Envie uma mensagem ao bot, que deve responder de volta. Você pode clicar na bolha de mensagem dentro da janela de conversa e inspecionar a atividade JSON bruta usando o recurso INSPETOR à direita da janela. Quando selecionada, o balão de mensagens ficará amarelo e o objeto JSON de atividade será exibido à esquerda da janela de bate-papo. As informações de JSON incluem metadados principais, incluindo ID do canal, tipo de atividade, ID da conversa, mensagem de texto, URL de ponto de extremidade, etc. Você pode inspecionar as atividades de inspeção enviadas pelo usuário, bem como as atividades com as quais o bot responde.

Atividade de mensagem do emulador

Dica

Você pode depurar alterações de estado em um bot conectado a um canal adicionando middleware de inspeção ao bot.

Inspecionar serviços

Com a v4 Emulator você também pode inspecionar as respostas JSON do LUIS e do QnA. Usando um bot com um serviço de idiomas conectado, você pode selecionar trace na janela LOG no canto inferior direito. Essa nova ferramenta também fornece recursos para atualizar seus serviços de linguagem diretamente do Emulator.

Inspetor LUIS

Com um serviço LUIS conectado, você notará que o link de rastreamento especifica Luis Trace. Quando selecionado, você verá a resposta bruta de seu serviço LUIS, que inclui intenções, entidades e suas pontuações especificadas. Você também tem a opção de reatribuir intenções para suas declarações de usuário.

Inspetor do QnA

Com um serviço QnA conectado, o log exibirá QnA Trace e, quando selecionado, você poderá visualizar o par de perguntas e respostas associado a essa atividade, juntamente com uma pontuação de confiança. A partir daqui, você pode adicionar frases de pergunta alternativo para uma resposta.

Logon no Azure

Você pode usar o Emulador para fazer logon em sua conta do Azure. Isso é particularmente útil para adicionar e gerenciar os serviços que dependem do seu bot. Faça logon no Azure seguindo estas etapas:

  1. Clique em arquivo-> entrar com o Azure

    Emulator entrar com o Azure

  2. Na tela de boas-vindas, clique em entrar com sua conta do Azure. opcionalmente, você pode ter Emulator mantê-lo conectado entre Emulator reinicializações do aplicativo.

    Emulator Êxito na conexão do Azure

Desabilitar a coleta de dados

Se decidir que não deseja permitir que o Emulador colete dados de uso, você pode facilmente desabilitar a coleta de dados, seguindo estas etapas:

  1. Navegue até a página de configurações do Emulador, clicando no botão de Configurações (ícone de engrenagem), na barra de navegação à esquerda.

    botão configurações de Emulator

  2. Desmarque a caixa de seleção Ajude-nos a melhorar o Emulador, permitindo-nos coletar dados de uso, na seção Coleta de dados.

    configurações de Emulator, coleta de dados

  3. Clique no botão "Salvar".

    Emulator configurações, botão salvar

Se você mudar de ideias, poderá habilitá-lo novamente marcando a caixa de seleção.

Recursos adicionais

O Bot Framework Emulator é open source. Você pode contribuir com o desenvolvimento e enviar bugs e sugestões.

Para solucionar problemas, confira solucionar problemas gerais e outros artigos de solução de problemas nesta seção.

Próximas etapas

Use o middleware de inspeção para depurar um bot conectado a um canal.