Demonstration Videos
These demonstration videos are grouped by product and topic, and provide an informal overview of selected areas of functionality. They are intended mainly to provide an introduction and general understanding of each topic. For comprehensive details on each feature, be sure to consult the written documentation.
DAI Videos
- Granular Control and Run Filtering
- Learn to run a subset of test cases within a test config, so that you can run subsets of tests from a larger test suite without having to create multiple test configs.
- Test Config Timeout Management
- Learn about setting a system-wide maximum runtime duration for test configs, which can then be overridden at the test config level. With this setting, you can ensure that even if a test run takes longer than expected, it will be terminated and subsequent scheduled tests will launch successfully.
- Configuring Webhook Notifications in DAI for Slack
- Use webhooks to send notifications to a number of different applications, such as Microsoft Teams or Slack. This capability also allows you to trigger actions in external systems, such as starting a dependent step in your CI/CD pipeline.
- How to Use Gherkin Feature Files
- Learn about Feature files in DAI, which contain Behavior-Driven Development test scenarios written in Gherkin, for execution in Test Configurations. Use scenario tags to filter and define scenarios to be executed within a test configuration. Filter test results by parent Features and Scenarios, and view step-by-step outcomes.
- Using Custom Shell Scripts
- Develop and add custom executable scripts to your DAI servier, and reuse them across test configs as needed. For flexibility, these scripts (batch or shell) will execute before the test steps of a test config. Learn how to synchronize from different Git branches or repositories, for instance in order to utilize different versions of test scripts, or to sync shared helper suites.
- Viewing Eggplant Functional Logs in DAI
- See how DAI displays Run logs from the Eggplant Fusion Engine's execution of SenseTalk scripts.
- Requirements Traceability
- Learn how to connect application requirements from external systems directly to your test cases. Provide clear evidence that all contractual and compliance-related rquirements have been met and tested. Once your tests are successfully executed, DAI generates a comprehensive report, for easy validation of progress and presentation to management and stakeholders.
SenseTalk Videos
General Information About SenseTalk
- An Introduction to SenseTalk
- Learn about Eggplant's people-oriented, English-like scripting language called SenseTalk, and explore its intuitive but complex features like ranges, operators, and chunk expressions through hands-on experimentation and playful learning. Experiment with SenseTalk by using the "do box".
- For more information, see About SenseTalk.
- Global Properties in SenseTalk
- Learn about global properties, which are system-wide values that determine behaviors of the run environment. Discover how they shape script behavior, their scope, and how they differ from local properties.
- For more information, see SenseTalk Global Properties.
- Repeat Loops in SenseTalk
- Discover the many types of repeat loops in SenseTalk, from simple counts to iterating lists and property data, with tools for control and flexibility.
- Script Debugging in Eggplant
- See a demonstration of Eggplant’s debugging tools using SenseTalk, including how to step through scripts, inspect variables, set breakpoints, and fix logic errors.
- Exception Handling in SenseTalk
- Learn how to handle, inspect, throw, and control exceptions in SenseTalk using
try
,catch
, custom exceptions, andthe throwExceptionResults
property.
- Learn how to handle, inspect, throw, and control exceptions in SenseTalk using
- User Interaction in SenseTalk
- See how SenseTalk scripts can interact with users through
put
,beep
,play
,answer
,ask
, and other commands for displaying messages, collecting input, and handling files.
- See how SenseTalk scripts can interact with users through
- Case Sensitivity in SenseTalk
- Learn how SenseTalk handles case sensitivity - while being case insensitive by default. It also provides global, local, and pattern-based options for precise case-sensitive string and pattern matching.
Variables and Values in SenseTalk
- SenseTalk Values
- Learn how to use and format various types of values in SenseTalk, including strings, numbers, Booleans, dates, colors, and special constants.
- Using Variables in SenseTalk
- SenseTalk variables are flexible named containers for any value type, with dynamic behavior, multiple assignment methods, and customizable display formats. This demonstration also discusses assigning values, unassigned variables, and more.
- The Different Types of Variables in SenseTalk
- This demo goes over all of the different kinds of variables in SenseTalk, including: local, global, universal, suite, and object property variables. Learn their scope and duration, and how to work with predefined variables.
- Using Containers
- In SenseTalk, a container is any entity that can store a value. This includes variables, list items, properties, global settings, files, and text chunks, which can all be treated as containers.
- Working with References in SenseTalk
- References in SenseTalk let multiple variables point to the same container, enabling direct updates to lists, handlers, files, and properties.
- Value Representation
- This video explains how SenseTalk handles values and their representations, and some scenarios where the appearance of a value may differ from the underlying value. This includes fractions, number formats, lists and property lists, literal strings, special characters, and how values are stored in files.
Value Collections in SenseTalk
- Working with Lists in SenseTalk
- Learn how to work with lists in SenseTalk to organize, manipulate, compare, sort, and analyze sequences of values, using a variety of flexible commands and operators.
- Working with Property Lists in SenseTalk
- Property lists are unordered collections of key:value pairs in SenseTalk that can store any type of value and be easily accessed, modified, displayed, and iterated. Learn how to access, add, and modify property values, as well as different ways to combine and manipulate property lists.
- Using Ranges in SenseTalk
- SenseTalk ranges are value sequences that can be numeric, character, or date/time-based. Learn how they can be accessed and manipulated like lists, modified, and iterated over.
- Ranges, Lists, and Property Lists as Data Structures
- In SenseTalk, there are several collection types for storing multiple values in a single variable: ranges, lists, and property lists. Learn all about working with these as data structures.
- Working with Trees and XML in SenseTalk
- Learn all about working with trees and XML in SenseTalk. This demonstration includes information about how individual tree nodes can be treated as a sub-tree, accessed like a list or property list, and manipulated by item position or XPath expressions, as well as how trees can be converted to and from XML or property lists, allowing flexible editing of content, attributes, and structure.
Expressions in SenseTalk
- Chunk Expressions in SenseTalk
- Learn about SenseTalk chunk expressions, which let you access and manipulate parts of text, numbers, lists, lines, words, and even binary data. They act as containers, allowing you to store, replace, or manipulate content directly. This video also discusses special ordinals, flexible access beyond text boundaries, sorting, shuffling, and handling non-existent chunks gracefully.
- Using Each Expressions in SenseTalk
- This demonstration explains SenseTalk’s
each
expressions, which provide a concise and powerful way to select, extract, and modify entire lists of elements with a single expression.
- This demonstration explains SenseTalk’s
Working with Files in SenseTalk
- File Related Commands
- Learn how to access and manipulate files and folders in the local file system, including zipped files, error handling, and batch operations.
- File Paths
- Handle files using SenseTalk's abilities to manipulate paths (split, modify, reconstruct, and standardize), manage files, and check for the existence of files or folders. Determine the working directory, access default directories, special folders, and more.
- Files Functions and File Descriptions
- This demonstration describes the SenseTalk functions for listing the files and folders in your file system. It also explains
FileDescription
objects and how to obtain detailed information about the properties of files.
- This demonstration describes the SenseTalk functions for listing the files and folders in your file system. It also explains
Text and Patterns in SenseTalk
- Text Functions
- SenseTalk text functions let you trim, filter, reorder, and manipulate text, including case changes, sorting, reversing, shuffling, and repeating.
- String Interpolation and the Merge Function
- SenseTalk’s string interpolation and
merge
function let you embed variables or expressions into strings and generate dynamic, formatted output from templates.
- SenseTalk’s string interpolation and
- The SenseTalk Pattern Language
- Learn the basics of SenseTalk pattern matching, to describe, find, validate, and extract text sequences.
- The SenseTalk Pattern Language Part 2
- This demonstration goes over the element types used in SenseTalk pattern matching, such as constant strings, variables, character classes, quantifiers, anchors, and context operators.
- Pattern Refinement
- Learn the nuances of pattern matching in SenseTalk using quantifiers, grouping, and context operators to match text. This demo also discusses lazy vs greedy matching, and sub-patterns.
- Pattern Replace
- Learn about the
replace
command and capture groups, which let you extract or manipulate subparts of a match (like separating a dollar sign from the number next to it).
- Learn about the
Numbers, Dates & Times in SenseTalk
- The NumberFormat Property
- Learn all about
the NumberFormat
property, which controls how numbers are displayed, including decimals, rounding, bases, words, and how to make both local and global changes.
- Learn all about
- Using Numbers with Units in SenseTalk
- SenseTalk supports a wide variety of units of measurement, enabling calculations, conversions, and flexible formatting for real-world values while preventing type mismatches.
- Working with Dates and Times in SenseTalk
- Learn how to work with dates and times, including performing arithmetic, and how to handle time durations.
- Display Formats
- Learn how to modify the display format for numbers, dates, and times, and how to use unit formats to control the display of values with units, such as showing a time duration broken out into hours, minutes, and seconds.
Databases in SenseTalk
- Working with Databases in SenseTalk
- SenseTalk provides a number of commands to connect to databases, fetch and update records, manage tables, and execute SQL.
- Working with an Excel Worksheet as a Database
- Learn how to access and modify Excel and CSV files like databases. Fetch, update, and manage records via property lists.
- Working with Excel Worksheets
- Learn all about working with Excel workbooks, worksheets, and cell objects for detailed control over Excel files, allowing updates to cell values, properties, and worksheet structure.
Objects and Messages in SenseTalk
- Working with SenseTalk as an Object-oriented Language
- SenseTalk supports object-oriented programming through a classless, prototype-based approach. Learn all about how to work with objects in SenseTalk.
- The Message Passing Path
- Get to know the message passing path - the way and order in which messages are passed during script execution, including the script object, helpers, handlers, back scripts, and the SenseTalk engine itself. See practical examples of capturing and rerouting commands, and overriding behavior.
- For more information see The Message Path
The Internet & Working with Sockets in SenseTalk
- Working with the Internet
- A brief introduction to SenseTalk’s facilities for accessing and interacting with resources on the internet, including ways to get, put, and post information.
- Sockets
- Use sockets for low-level, two-way communication with servers or other processes. Learn to send and receive a variety of data types.