• Skip to primary navigation
  • Skip to main content
  • Skip to footer
Cyara

Cyara

Cyara Customer Experience Assurance Platform

  • Login
  • Contact Us
  • Request a demo
  • Search
  • Login
  • Contact us
  • Request a demo
  • Why Cyara
    • Cyara Agentic Platform
    • Cyara partner network
    • Cyara Academy
  • Products
    • ValidationBuild your CX stack with confidence – every layer, validated early
          • AI bot validationValidate conversational AI, GenAI, agentic AI chat, and voice bots
          • Telco infrastructureValidate carrier connectivity and routing for global calling and SMS
          • Network & endpointsValidate WebRTC media paths and agent desktop connectivity
    • ReadinessDeploy your CX journeys with confidence – at scale, through change
          • Agentic journey assuranceAssure end-to-end agentic and hybrid journeys before go-live
          • Load and performanceAssure CX journeys through load, peak, and scale
          • Human agent readinessAssure inbound and outbound agent paths before go-live
    • ObservabilityRun your CX operations with confidence – continuous monitoring, proactive resolution
          • Agentic AI trust & governanceMonitor AI agent hallucination, compliance, and misuse
          • Omnichannel observabilityMonitor end-to-end CX journey experience across channels
          • Human agent monitoringMonitor live agent connectivity and experience in real-time
    • Learn about the Cyara Agentic Platform
  • Resources
    • CX Assurance blog
    • Customer success showcase
    • CX use cases
    • Events & upcoming webinars
    • On-demand webinars
    • Resource library
  • About Us
        • About Cyara

        • About Cyara
        • Leadership
        • Careers
        • Legal statements, policies, & agreements
        • Services

        • Cyara Academy
        • Consulting services
        • Customer success services
        • Technical support
        • News

        • Press releases
        • Media coverage
        • Cyara awards
        • Partners

        • Partners

Blog / CX Assurance

June 28, 2020

Testing a Chatbot End-to-End with Perfecto and Botium

Florian Treml, Senior Director, Engineering

This article was originally published on Botium’s blog on June 28, 2020, prior to Cyara’s acquisition of Botium. Learn more about Cyara + Botium

This tutorial provides step-by-step instructions on how to set up Botium Box with Perfecto Mobile and Perfecto Web to run continuous End-To-End tests for a chatbot published on a website.

Test Levels

Due to the nature of conversational AI, it is vital to understand the concept of test levels to design efficient test strategies. This picture shows a typical chatbot architecture:

  • There is a user frontend hosted as a chat widget on a website
  • The frontend connects to a backend service (often called Orchestration Service) with web protocols — HTTP(S), JSON, Websockets
  • Somewhere behind, there is an NLP model to convert user input to structured data with intents and entities
  • An additional component is handling the dialogue sessions.
  • And finally, there are some kind of business services, often backed by business databases

Botium supports End-To-End-Testing with a Webdriver Connector, combining the power of Selenium’s web browser automation with Botiums chatbot testing superpowers. The chatbot is tested by doing, pointing, and clicking and typing on a website just as a real user would do. As part of a test strategy, there are several scenarios that can and should be covered with End-To-End-Testing:

  • Validating browser/client compatibility
  • Smoke Tests before going live

In this article, I will use one of the “Corona Bots” out there providing information about the Covid-19-Pandemic. It has a clean user interface with some quick responses, a text input field, and a chat history window.

Testing a Chatbot End-to-End with Perfecto and Botium - CoronaBot

 

Step 1: Connect Botium to the Perfecto Cloud

Follow the instructions in the Perfecto Documentation to connect Botium to the Perfecto Cloud.

Step 2: Choose Device or Browser Configurations

Follow the instructions in the Perfecto Documentation to register a set of devices or browser configurations you want to test with.

Step 3: Connect Botium to the Chatbot Website

Regardless of what channel the chatbot is published on, chances are high that Botium can connect to it – there are over 30 technologies supported right now, and the number is growing. In this case, we can select the WebdriverIO technology, and tell Botium the web address where the chatbot is published.

Note: this chatbot is using the Microsoft BotBuilder Webchat widget, which is natively supported by Botium. For other, custom widgets it is required to tell Botium the Selenium selectors of the input and output DOM elements.

Testing a Chatbot End-to-End with Perfecto and Botium - WebdriverIO

You can click the Say Hello button to check connectivity immediately – Botium uses an integrated headless chrome to launch the website, sends a simple Hello to the chatbot and waits for the response.

Testing a Chatbot End-to-End with Perfecto and Botium - WebdriverIO

Step 4: Define the Botium Test Cases

Test Cases in Botium are defined in a domain-specific scripting language called BotiumScript – plain text files holding the logic to send user input to the chatbot and what to expect as an outcome.

ask-for-corona-protection

#bot
Hallo, bitte stellen Sie mir eine Frage zum Corona-Virus und ich versuche sie zu beantworten!

#bot
Oft gestellte Fragen:
BUTTONS WOHER KOMMT DAS VIRUS?|WELCHE SYMPTOME GIBT ES?|WIE KANN MAN SICH SCHÜTZEN?

#me
WIE KANN MAN SICH SCHÜTZEN?

#bot
Um generell die Ausbreitung von Infektionskrankheiten der Atemwege zu vermeiden

This sample test case named ask-for-corona-protection will first wait for two greeting messages from the bot (also see the screenshot of the chat window above) – the second one should contain some clickable buttons – then send some text to the chatbot and wait for a response. There is also a test case designer in Botium Box for visualizing the conversation flow.

Testing a Chatbot End-to-End with Perfecto and Botium - Ask for Corona Protection

Several test cases are collected in a Test Set in Botium Box.

Step 5: Prepare Botium Test Project

The basic execution unit in Botium Box is called Test Project. It combines everything from the previous steps:

  • The chatbot channel to use
  • The test cases to run
  • The devices or browser configuration to launch the chatbot on

Open the Quickstart Wizard and follow the 3 steps.

Testing a Chatbot End-to-End with Perfecto and Botium - Quickstart First Step
Testing a Chatbot End-to-End with Perfecto and Botium - Quickstart Second Step
Testing a Chatbot End-to-End with Perfecto and Botium - Quickstart Last Step

On the final step, don’t click on Save and Start Testing, but on the Save button – there is one additional step to do before launching our first test session.

Step 6: Connect Botium to the Perfecto Test Reporting & Analytics Dashboard

Perfecto has a very powerful test reporting & analytics dashboard. We have to connect Botium  to this dashboard to keep Perfecto up to date about executed test cases and test results. Open the Settings tab in the Test Project, expand the Test Execution Settings and add PERFECTO-REPORTING to the Registered Components list.

Testing a Chatbot End-to-End with Perfecto and Botium - Settings

Step 7: Launch a Test Session

Now head over to the Test Project dashboard and click the Start Test Session Now! button. You can watch the test session while it is running.

Testing a Chatbot End-to-End with Perfecto and Botium - Testsession

Step 8: Inspect Results

When the test session is finished, you can start to inspect the results in Botium.

Testing a Chatbot End-to-End with Perfecto and Botium - Test Cases

For each test case, there is the full visualized conversation transcript shown, as well as a screenshot from the browser. When expanding a failing test case you can immediately see the reasons for failing (in this example, there is a problem with the German umlaut in Firefox on Windows).

Testing a Chatbot End-to-End with Perfecto and Botium - Assertion

Head over to the Perfecto Test Analysis Dashboard to have deeper insights into recent test sessions, device lists, and more.

Testing a Chatbot End-to-End with Perfecto and Botium - Latest Reports

You can follow the conversation flow of each test case and even watch the full-screen recording there in order to trace down any failures.

Testing a Chatbot End-to-End with Perfecto and Botium - Ask for Virus

 

Next Steps

There are so much more things to discover in Botium, this was just the beginning.

  • You can now setup your CI/CD pipeline for automated regression testing
  • You can start to explore other test levels such as NLP/NLU analytics with Botium Coach.
  • Or you can add performance testing and security testing to your pipeline as well

Read more about: Chatbots, Cyara Botium, Test Automation

Related Posts

agentic AI

April 2, 2026

Deliver Agentic AI-Powered CX with Confidence: The Cyara Agentic Platform

As businesses leverage AI-powered CX, they need an agentic AI CX assurance platform. Discover the new Cyara Agentic Platform.

Topics: Agentic AI, Automated testing, Customer experience (CX), CX assurance platform, Digital transformation, Test Automation

automated IVR testing

March 20, 2026

The Future of Voice CX Depends on Automated IVR Testing

Learn how to improve and future-proof your voice CX by replacing traditional, manual testing with automation.

Topics: Automated testing, Customer experience (CX), Interactive voice response (IVR), IVR testing, Test Automation

customer experience load testing

February 12, 2026

How to Scale Customer Experience Load Testing

Many businesses rely on manual testing to assure CX. Learn how to improve CX and scale your load testing with automation.

Topics: Automated testing, Customer experience (CX), Load testing, Test Automation

Footer

Cyara
Leader Enterprise Best Est. ROI Enterprise Easiest To Use Enterprise
  • LinkedIn
  • YouTube
  • Products
    • Cyara Agentic Platform
    • Validation
      • Botium
      • Voice Assure
      • testRTC
    • Readiness
      • Velocity
      • Cruncher
      • testRTC
    • Observability
      • AI Trust
      • Pulse360
      • Pulse
      • Number Trust
      • ResolveAX
  • Resources
    • CX Assurance Blog
    • Events & upcoming webinars
    • On-demand webinars
    • Customer success showcase
    • Resource library
  • Company
    • About us
    • Leadership
    • Careers
    • Press releases
    • Media coverage
    • Cyara awards
    • Partners
    • Legal
  • Support
    • Cyara Academy
    • Support sites

Copyright © 2006–2026 Cyara® Inc. The Cyara logo, names and marks associated with Cyara’s products and services are trademarks of Cyara. All rights reserved. Privacy Statement