Testa och felsöka med emulatorn

GÄLLER FÖR: SDK v4

Bot Framework Emulator är ett skrivbordsprogram som gör det möjligt för robotutvecklare att testa och felsöka robotar, antingen lokalt eller via fjärranslutning. Med emulatorn kan du chatta med din robot och inspektera de meddelanden som roboten skickar och tar emot. Emulatorn visar meddelanden som de skulle visas i ett webbchattgränssnitt och loggar JSON-begäranden och svar när du utbyter meddelanden med din robot. Innan du distribuerar roboten till molnet kör du den lokalt och testar den med emulatorn. Du kan testa din robot med emulatorn även om du ännu inte har skapat den med Azure AI Bot Service eller konfigurerat den att köras på alla kanaler.

Kommentar

Bot Framework JavaScript-, C#- och Python-SDK:erna fortsätter att stödjas, men Java SDK dras tillbaka med slutligt långsiktigt stöd som slutar i november 2023.

Befintliga robotar som skapats med Java SDK fortsätter att fungera.

Om du vill skapa en ny robot bör du överväga att använda Power Virtual Agents och läsa om hur du väljer rätt chattrobotlösning.

Mer information finns i Framtiden för robotbygge.

Förutsättningar

Köra en robot lokalt

Innan du ansluter roboten till Bot Framework-emulatorn måste du köra roboten lokalt. Du kan använda Visual Studio eller Visual Studio Code för att köra roboten eller använda kommandoraden. Om du vill köra en robot med kommandoraden gör du följande:

  • Gå till kommandotolken och ändra katalogen till robotprojektkatalogen.

  • Starta roboten genom att köra följande kommando:

    dotnet run
    
  • Kopiera portnumret på raden innan programmet startade. Tryck på CTRL+C för att stänga av.

    C#-portnummer

Nu bör roboten köras lokalt.

Anslut till en robot som körs på localhost

Konfigurera proxyinställningar

När du utvecklar bakom en företagsproxy använder emulatorn de konfigurerade miljövariablerna HTTP_PROXY och HTTPS_PROXY, som anger proxy-URL-vägen för HTTP- respektive HTTPs-begäranden.

Om du ansluter till en robot som körs på localhostförsöker emulatorn först dirigera via proxyn innan du ansluter till localhost. Vanligtvis blockerar proxyn anslutningen om du inte anger att den ska kringgås för localhost.

För att kringgå HTTP_PROXY inställningarna och HTTPS_PROXY tillåta att emulatorn ansluter till localhostmåste du definiera följande miljövariabel på den lokala datorn:

NO_PROXY=localhost

Konfigurera emulatorn för autentisering

Om en robot kräver autentisering och visar en inloggningsdialogruta måste du konfigurera emulatorn enligt nedan.

Använda en verifieringskod för inloggning

  1. Starta emulatorn.
  2. I emulatorn väljer du Inställningar (kugghjulsikonen) i det vänstra fönstret.
  3. Aktivera Bypass ngrok för lokala adresser.
  4. Aktivera Använd en inloggningsverifieringskod för OAuthCards.
  5. Välj Spara.

När du väljer inloggningsknappen som visas av roboten genereras en verifieringskod. Du anger koden i chattrutan för robotindata för att autentiseringen ska äga rum. Därefter kan du utföra de tillåtna åtgärderna.

Du kan också utföra stegen som beskrivs nedan.

Använda autentiseringstoken

  1. Starta emulatorn.
  2. I emulatorn väljer du Inställningar (kugghjulsikonen) i det vänstra fönstret.
  3. Ange den lokala sökvägen till ngrok. Mer information om ngrok finns i ngrok.
  4. Aktivera Kör ngrok när emulatorn startas.
  5. Aktivera Använd version 1.0-autentiseringstoken.
  6. Välj Spara.

När du väljer inloggningsknappen som visas av roboten uppmanas du att ange dina autentiseringsuppgifter. En autentiseringstoken genereras. Därefter kan du utföra de tillåtna åtgärderna.

Startfönster för emulatorn

Om du vill ansluta till en robot som körs lokalt väljer du Öppna robot. Lägg till det portnummer som du kopierade tidigare till följande URL och klistra in den uppdaterade URL:en i fältet Robot-URL:

http://localhost:<port number>/api/messages

Dialogrutan Öppna en robot för emulatorn

Om din robot körs med autentiseringsuppgifter för Microsoft-konto (MSA) anger du även dessa autentiseringsuppgifter.

Använda autentiseringsuppgifter för robot

När du öppnar roboten anger du Lösenordet för Microsoft App-ID och Microsoft App om roboten körs med autentiseringsuppgifter. Om du har skapat din robot med Azure AI Bot Service är autentiseringsuppgifterna tillgängliga i robotens App Service under avsnittet Inställningar –> Konfiguration. Om du inte känner till värdena kan du ta bort dem från den lokalt aktiva robotens konfigurationsfil och sedan köra roboten i emulatorn. Om roboten inte körs med de här inställningarna behöver du inte heller köra emulatorn med inställningarna.

Kom ihåg följande när du skapar ett AD-identitetsproviderprogram:

  • När kontotypen som stöds är inställd på en enskild klientorganisation, om du använder en personlig prenumeration i stället för ett Microsoft-konto, skulle emulatorn utfärda felet: Robotens Microsoft App-ID eller Microsoft App Password är felaktigt.
  • I det här fallet måste de kontotyper som stöds anges till Konton i valfri organisationskatalog (Alla Microsoft Entra-ID-kataloger – Multitenant) och personliga Microsoft-konton (t.ex. Xbox).

Mer information finns i Skapa ett Microsoft Entra ID-identitetsproviderprogram och Registrera ett nytt program med hjälp av Azure-portalen.

Visa detaljerade meddelandeaktiviteter med kontrollanten

Skicka ett meddelande till roboten, som då bör svara. Du kan välja meddelandebubblan i konversationsfönstret och inspektera JSON-aktiviteten med hjälp av funktionen INSPECTOR till höger i fönstret. När du väljer det här alternativet blir meddelandebubblan gul och aktivitetens JSON-objekt visas till vänster om chattfönstret. JSON-informationen innehåller nyckelmetadata, inklusive kanal-ID, aktivitetstyp, konversations-ID, textmeddelande, slutpunkts-URL och så vidare. Du kan inspektera aktiviteter som skickas från användaren och aktiviteter som roboten svarar med.

JSON för Emulatormeddelandeaktivitet

Dricks

Du kan felsöka tillståndsändringar i en robot som är ansluten till en kanal genom att lägga till Inspection Middleware i roboten.

Inspektera tjänster

Kommentar

Azure AI QnA Maker dras tillbaka den 31 mars 2025. Från och med den 1 oktober 2022 kan du inte skapa nya QnA Maker resurser eller kunskapsbaser för 2022. En nyare version av fråge- och svarsfunktionen är nu tillgänglig som en del av Azure AI Language.

Svar på anpassade frågor, en funktion i Azure AI Language, är den uppdaterade versionen av QnA Maker-tjänsten. Mer information om stöd för frågor och svar i Bot Framework SDK finns i Förstå naturligt språk.

Kommentar

Language Understanding (LUIS) dras tillbaka den 1 oktober 2025. Från och med den 1 april 2023 kan du inte skapa nya LUIS-resurser. En nyare version av språktolkning är nu tillgänglig som en del av Azure AI Language.

Conversational Language Understanding (CLU), en funktion i Azure AI Language, är den uppdaterade versionen av LUIS. Mer information om stöd för språktolkning i Bot Framework SDK finns i Förstå naturligt språk.

Med emulatorn kan du också inspektera JSON-svaren från LUIS och QnA Maker. Om du använder en robot med en ansluten språktjänst kan du välja spåra i LOG-fönstret längst ned till höger. Det här nya verktyget innehåller även funktioner för att uppdatera dina språktjänster direkt från emulatorn.

LUIS-inspektör

Med en ansluten LUIS-tjänst anger spårningslänken Luis Trace. När du väljer det visas råsvaret från LUIS-tjänsten, som innehåller avsikter och entiteter, tillsammans med deras angivna poäng. Du kan omtilldela avsikter för dina användaryttranden.

QnA-inspektör

Med en ansluten QnA Maker-tjänst visar loggen QnA Trace. När du väljer det här alternativet kan du förhandsgranska det fråge- och svarspar som är associerat med den aktiviteten, tillsammans med en konfidenspoäng. Härifrån kan du lägga till en alternativ frågeformulering för ett svar.

Logga in på Azure

Du kan använda emulatorn för att logga in på ditt Azure-konto. Det här är användbart om du vill lägga till och hantera tjänster som din robot är beroende av. Så här loggar du in:

  1. Välj Arkiv och sedan Logga in med Azure.

    Emulatorn loggar in med Azure

  2. På välkomstskärmen väljer du Logga in med ditt Azure-konto. Du kan också låta emulatorn hålla dig inloggad i emulatorprogrammets omstarter.

    Emulatorn azure-inloggningen lyckades

Inaktivera datainsamling

Om du inte längre vill tillåta att emulatorn samlar in användningsdata kan du enkelt inaktivera datainsamling genom att följa dessa steg:

  1. I emulatorn väljer du Inställningar (kugghjulsikonen) i det vänstra fönstret.

    Knappen Emulatorinställningar

  2. Under Datainsamling avmarkerar du Hjälp till att förbättra emulatorn genom att låta oss samla in användningsdata.

  3. Välj Spara.

Om du ändrar dig kan du återaktivera datainsamling senare.

Ytterligare resurser

Bot Framework-emulatorn är öppen källkod. Du kan bidra till utvecklingen och skicka buggar och förslag.

Felsökning finns i Felsöka allmänna problem och andra felsökningsartiklar i det avsnittet.

Gå vidare

Använd kontrollmellanprogram för att felsöka en robot som är ansluten till en kanal.