Apica Docs
  • Welcome to Apica Docs!
  • PRODUCT OVERVIEW
    • Ascent Overview
    • Ascent User Interface
  • TECHNOLOGIES
    • Ascent with Kubernetes
      • Kubernetes is a Game-Changer
      • Ascent: Built on Kubernetes
    • Ascent with OpenTelemetry
      • Why Implement OpenTelemetry?
      • Common Use Cases for OpenTelemetry
      • How to Get Started with OpenTelemetry
      • Best Practices for OpenTelemetry Implementations
  • RELEASE NOTES
    • Release Notes
      • Ascent 2.10.4
      • Ascent 2.10.3
      • Ascent 2.10.2
      • Ascent 2.9.0
      • Ascent 2.8.1
      • Ascent 2.8.0
      • Ascent 2.7.0
      • Ascent 2.6.0
      • Ascent 2.5.0
      • Ascent 2.4.0
      • Ascent 2.3.0
      • Ascent 2.2.0
      • Ascent 2.1.0
        • Data Fabric
          • Releases-old
        • Synthetic Monitoring
        • Advanced Scripting Engine
        • IRONdb
      • Synthetic Monitoring
  • GETTING STARTED
    • Getting Started with Ascent
      • Getting Started with Metrics
      • Getting Started with Logs
        • OpenTelemetry
    • Ascent Deployment Overview
    • Quickstart with Docker-Compose
    • On-Premise PaaS deployment
      • On-Premise PaaS Deployment Architecture
      • Deploying Apica Ascent PaaS on Kubernetes
      • Deploying Apica Ascent PaaS on MicroK8s
      • Deploying Apica Ascent PaaS on AWS
      • Deploying Apica Ascent EKS on AWS using CloudFormation
      • Deploying Ascent on AWS EKS with Aurora PostgreSQL and ElastiCache Redis using Cloud Formation
        • Deploying Apica Ascent on AWS EKS with Aurora PostgreSQL and ElastiCache Redis using CloudFormation
        • Apica Ascent on AWS EKS (Private Endpoint) with Aurora PostgreSQL and ElastiCache Redis on prod VPC
      • Deploying Apica Ascent EKS on AWS using custom AMI
      • Deploying Apica Ascent EKS with AWS ALB
      • Deploying Apica Ascent PaaS in Azure Kubernetes Service
        • Azure Blob Storage Lifecycle Management
      • Deploying Apica Ascent with OpenShift
    • Boomi RTO Quick Start Guide
      • RTO Dashboarding
      • Alerting on RTO Metrics
      • Alerting on RTO Logs
    • Dashboards & Visualizations
  • DATA SOURCES
    • Data Source Overview
    • API
      • JSON Data source
      • RSS
    • AWS
      • Amazon Athena
      • Amazon CloudWatch ( YAML )
      • Amazon Elasticsearch Service
      • Amazon Redshift
      • MySQL Server (Amazon RDS)
    • NoSQL Data Sources
      • MongoDB
    • OLAP
      • Data Bricks
      • Druid
      • Snowflake
    • SQL Data Sources
      • PostgreSQL
      • Microsoft SQL Server
      • MySQL Server
    • Time Series Databases
      • Prometheus Compatible
      • Elasticsearch
      • InfluxDB
    • Ascent Synthetics
      • Checks
    • Ascent Logs
      • Logs
  • INTEGRATIONS
    • Integrations Overview
      • Generating a secure ingest token
      • Data Ingest Ports
    • List of Integrations
      • Apache Beam
        • Export Metrics to Prometheus
          • Pull Mechanism via Push-Gateway
        • Export Events to Apica Ascent
      • Apica ASM
      • Apica Ascent Observability Data Collector Agent
      • AWS
        • AWS CloudWatch
        • AWS ECS
          • Forwarding AWS ECS logs to Apica Ascent using AWS FireLens
          • ECS prometheus metrics to Apica Ascent
        • AWS S3
      • Azure
        • Azure Databricks
        • Azure Eventhub
        • Azure Event Hubs
      • Docker Compose
      • Docker Swarm logging
      • Docker Syslog log driver
      • F5 Big-Ip System
      • Filebeat
      • Fluent Bit
        • Forwarding Amazon-Linux logs to Apica Ascent using Fluent Bit
        • Fluent Bit installation on Ubuntu
        • Enabling IoT(MQTT) Input (PAAS)
        • IIS Logs on Windows
      • Fluentd
      • FortiNet Firewalls
      • GCP PubSub
      • GCP Cloud Logging
      • IBM QRadar
      • ilert
      • Incident Management
        • Webhooks
      • Jaeger
      • Kafka
      • Kinesis
      • Kubernetes
      • Logstash
      • MQTT
      • Network Packets
      • OpenTelemetry
      • Object store (S3 Compatible)
      • Oracle OCI Infrastructure Audit/Logs
      • Oracle Data Integrator (ODI)
      • OSSEC Variants (OSSEC/WAZUH/ATOMIC)
        • Apica Ascent-OSSEC Agent for Windows
      • Palo Alto Firewall
      • Prometheus
        • Spring Boot
        • Prometheus on Windows
        • Prometheus Remote Write
        • MongoDB Exporter
        • JMX Exporter
      • Rsyslogd
      • Syslog
      • Syslog-ng
      • Splunk Universal Forwarder
      • Splunk Heavy Forwarder
      • SNMP
      • Splunk Forwarding Proxy
      • Vault
        • Audit Vault Logs - AWS
        • Audit Vault Logs - OCI
        • Audit Vault Metrics
    • Apica API DOCS
  • DATA MANAGEMENT
    • Data Management Overview
    • Data Explorer Overview
      • Query Builder
      • Widget
      • Alerts
      • JSON Import
      • Creating Json Schema
        • Visualization
          • Line chart
          • Bar chart
          • Area chart
          • Scatter chart
          • Status chart
          • Counter chart
          • Stat chart
          • Size chart
          • Dense Status chart
          • Honeycomb chart
          • Gauge chart
          • Pie chart
          • Disk chart
          • Table chart
          • Date time chart
      • Time-Series AI/ML
        • Anomaly Detection
        • Averaging
        • Standard Deviation(STD)
      • Data Explorer Dashboard
        • Create a Dashboard
        • Editing Dashboard
          • Dashboard level filters
    • Timestamp handling
      • Timestamp bookmark
    • Large log/events/metrics/traces
  • OBSERVE
    • Monitoring Overview
      • Connecting Prometheus
      • Connecting Amazon Managed Service for Prometheus
      • Windows Redis Monitoring
      • Writing queries
        • Query Snippets
      • Query API
      • Use Apica API to ingest JSON data
    • Distributed Tracing
      • Traces
      • Spans
      • Native support for OTEL Traces
      • Windows .NET Application Tracing
      • Linux+Java Application Tracing
    • Log Management
      • Terminology
      • Explore Logs
      • Topology
      • Apica Ascent Search Cheat Sheet
      • Share Search Results
      • Severity Metrics
      • Log2Metrics
      • Native support for OTEL Logs
      • Reports
        • Accessing Reports results via API
      • Role-Based Access Control (RBAC)
      • Configuring RBAC
    • AI and LLM Observability
      • AI Agent Deployment
      • Ascent AI Agent Monitoring
      • Ascent Quick Start Guide
    • Synthetic Check Monitoring
      • Map View
      • List View
      • Alerting for Check Results
  • Flow
    • Overview
    • Pipeline Management
      • Configuring Pipelines
      • Visualize Pipelines
      • Pipeline Overview Dashboard
      • Forwarding Data
    • OpenTelemetry Ingest
      • OpenTelemetry Logs / Traces
      • OpenTelemetry Metrics
        • Transforming Metrics through Code Rules
    • Vault
      • Certificates
      • Variables
      • Lookups
    • Rules
      • FILTER
      • EXTRACT
      • SIEM and TAG
      • REWRITE
      • CODE
      • FORWARD
        • Rename Attributes
      • STREAM
    • Functions
      • ascent.encode
      • ascent.decode
      • ascent.persist
      • Ascent.variables
      • ascent.crypto
      • Ascent.mask
      • Ascent.net
      • Ascent.text
      • Ascent.time
      • Ascent.lookups
    • List of Forwarders
    • OpenTelemetry Forwarding
      • Metrics
      • Traces
      • Logs
    • Splunk Forwarding
      • Apica UF Proxy App Extension
        • Standalone Instance
        • List of Indexer Instances
        • Indexer Discovery
      • Splunk HTTP Event Collector (HEC) Forwarder
        • Metric Indexes
        • Non Metric Indexes
      • Splunk Syslog Forwarding
    • Real-Time Stream Forwarding
      • AWS Kinesis
      • Azure Eventhub
      • Google Pub/Sub
    • Security Monitor Forwarding
      • Arc Sight
      • RSA New Witness
    • Forwarding to Monitoring Tools
      • Datadog Forwarding
      • New Relic Forwarding
      • Dynatrace Forwarding
      • Elasticsearch Forwarding
      • Coralogix Forwarding
      • Azure Log Analytics Forwarding
    • Object Store Forwarding
      • S3 Compatible
      • Azure Blob Storage
    • Forwarding to Data Warehouse
      • GCP Bigquery
  • Customized Forwarders
    • JS Code Forwarding
  • LAKE
    • Powered by Instastore™
  • FLEET MANAGEMENT
    • Overview
    • Agents
    • Configurations
    • Packages
    • Fleet Repository Management
    • Advanced Search
    • List of Agents
      • Datadog Agent
      • Fluent-bit Agent
      • Grafana Alloy
      • OpenTelemetry Collector
      • OpenTelemetry Kubernetes
      • Prometheus Agent
  • COMMAND LINE INTERFACE
    • apicactl Documentation
  • AUTONOMOUS INSIGHTS
    • Time Series AI-ML
      • Anomaly Detection
      • Averaging
      • Standard Deviation(STD)
      • Forecasting
      • AI-ML on PromQL Query Data Set
      • Statistical Data Description
    • Pattern-Signature (PS)
      • Log PS Explained
        • Unstructured Logs
        • Semi-structured JSON
        • Reduce Logs Based on PS
        • Log PS Use Cases
          • Log Outlier Isolation
          • Log Trending Analysis
          • Simple Log Compare
      • Config PS
        • Config JSON PS
    • ALIVE Log Visualization
      • ALIVE Pattern Signature Summary
      • ALIVE Log Compare
    • Log Explained using Generative AI
      • Configuring Generative AI Access
      • GenAI Example Using Log Explain
    • Alerts
    • Alerts (Simple/Anomaly)
    • Alerts On Logs
    • Rule Packs
    • AI-powered Search
  • PLATFORM DOCS
    • Synthetic Monitoring Overview
      • Getting Started with ASM
        • Achieving 3 Clicks to Issue Resolution via ASM
        • FAQ - Frequently Asked Questions
        • Creating A New Check
          • Creating a New Real Browser Check
      • Explore the Platform
        • API Details
        • Check Types
          • Android Check
          • Command Check
          • Compound Check
          • Browser Check
          • Desktop Application Check
          • AWS Lambda Check
          • DNS Resolver Check
          • DNS Security Check
          • Domain Availability Check
          • Domain Delegation Check
          • Domain Expiration Date Check
          • Hostname Integrity Check
          • iPad Check
          • iPhone Check
          • Ping Check
          • Port Check
          • Postman Check
          • Response Time Check
          • SSL Certificate Expiration Check
          • Scripted Check
        • Dashboards
        • Integrations
          • DynaTrace Integration
          • Google Analytics Integration
          • Akamai Integration
          • Centrify Integration
          • AppDynamics Integration
          • PagerDuty Integration
          • ServiceNow Integration
          • Splunk Integration
        • Metrics
          • Analyze Site
          • Result Values
          • Trends
          • Analyze Metrics
        • Monitoring
          • Integrating ASM Metrics into Grafana Using Apica Panels
            • Understanding the ASM Imported Dashboards
            • Using the Apica Panels Dashboards
          • Understanding ASM Check Host Locations
        • Navigation
          • Manage Menu
        • Reports
        • Use Cases
      • Configurations
        • Configuring Checks
          • Understanding Check Results
            • Understanding ZebraTester Check Results
            • Understanding Browser Check Results
            • Understanding Check Details
          • Editing Checks
            • Editing Browser Checks
            • Editing ZebraTester Checks
          • Using Regular Expressions Within the ASM Platform
          • Understanding the Edit Scenario Page
          • Comparing Selenium IDE Scripts to ASM Scenarios
          • Configuring Apica DNS Check Types
          • Implementing Tags Effectively Within ASM
          • Storing and Retrieving Information Using the ASM Dictionary
        • Configuring Users
          • Configuring SSO Within ASM
        • Configuring Alerts
          • Configuring Webhook Alerts
      • How-To Articles
        • ASM Monitoring Best Practices
        • API Monitoring Guide
        • IT Monitoring Guide
        • Monitor Mission-Critical Applications through the Eyes of Your Users
        • How To Mask Sensitive Data in ASM
        • How to Mask Sensitive Data When Using Postman Checks
        • How to Handle URL Errors in a Check
        • How To Set Up SSO Using Azure AD
        • How to Set Up SSO Using Centrify
        • ASM Scenarios How-To
          • How To Pace a Selenium Script
          • How to Utilize XPath Within a Selenium Script
          • How to Mask Sensitive Information Within an ASM Scenario
          • Handling Elements Which Do Not Appear Consistently
          • How to Handle HTML Windows in ASM Scenarios
    • ZebraTester Scripting
      • ZebraTester Overview
      • Install ZebraTester
        • Download ZebraTester
          • Core ZebraTester V7.5-A Documentation
          • Core ZebraTester V7.0-B Documentation
          • Core ZebraTester V7.0-A Documentation
          • Core ZebraTester V5.5-Z Documentation
          • Core ZebraTester V5.5-F Documentation
        • Download the ZebraTester Recorder Extension
        • Windows Installation
          • ZebraTester on Windows
          • Generate Private CA Root Certificate
          • Windows System Tuning
          • Install a new ZT version on Windows Server
          • Install/Uninstall ZT Windows Installer Silently
        • macOS Installation
          • macOS Preinstallation Instructions
          • Generate Private CA Root Cert (macOS X)
          • System Tuning (macOS)
          • Import a CA Root Certificate to an iOS device
          • Memory Configuration Guidelines for ZebraTester Agents
      • ZebraTester User Guide
        • Menu and Navigation Overview
        • 1. Get a Load Test Session
          • Recording Web Surfing Sessions with ZebraTester
            • Further Hints for Recording Web Surfing Sessions
            • Recording Extension
              • Record Web Session
              • Cookies and Cache
              • Proxy
              • Page Breaks
              • Recording Extension Introduction
              • Troubleshooting
            • Add URL to ZebraTester
            • Page Scanner
          • Next Steps after Recording a Web Surfing Session
        • 2. Scripting the Load Test Session
          • 1. Assertions - HTTP Response Verificaton
          • 2. Correlation - Dynamic Session Parameters
            • 2b. Configuring Variable Rules
            • 2a. Var Finder
          • 3. Parameterization: Input Fields, ADR and Input Files
            • ADR
          • 4. Execution Control - Inner Loops
          • 5. Execution Control - URL Loops
          • 6. Execution Control -User-Defined Transactions And Page Breaks
          • 7. Custom Scripting - Inline Scripts
          • 8. Custom Scripting - Load Test Plug-ins
            • ZebraTester Plug-in Handbooks
          • Modular Scripting Support
        • 3. Recording Session Replay
        • 4. Execute the Load Test
          • Executing a First Load Test
          • Executing Load Test Programs
            • Project Navigator
              • Configuration of the Project Navigator Main Directory
            • Real-Time Load Test Actions
            • Real-Time Error Analysis
            • Acquiring the Load Test Result
            • More Tips for Executing Load Tests
          • Distributed Load Tests
            • Exec Agents
            • Exec Agent Clusters
          • Multiple Client IP Addresses
            • Sending Email And Alerts
            • Using Multiple Client IP Addresses per Load-Releasing System
        • 5. Analyzing Results
          • Detail Results
          • Load Test Result Detail-Statistics and Diagrams
          • Enhanced HTTP Status Codes
          • Error Snapshots
          • Load Curve Diagrams
          • URL Exec Step
          • Comparison Diagrams
            • Analysis Load Test Response Time Comparison
            • Performance Overview
            • Session Failures
        • Programmatic Access to Measured Data
          • Extracting Error Snapshots
          • Extracting Performance Data
        • Web Tools
        • Advanced Topics
          • Execute a JMeter Test Plan in ZebraTester
          • Credentials Manager for ZebraTester
          • Wildcard Edition
          • Execution Plan in ZebraTester
          • Log rotation settings for ZebraTester Processes
          • Modify Session
          • Modular Scripting Support
          • Understanding Pacing
          • Integrating ZebraTester with GIT
            • GitHub Integration Manual V5.4.1
      • ZebraTester FAQ
      • ZebraTester How-to articles
        • How to Combine Multiple ZebraTester Scripts Into One
        • Inline Scripting
        • How to Configure a ZebraTester Script to Fetch Credentials from CyberArk
        • How to Configure a ZebraTester Scenario to Fetch Credentials from CyberArk
        • How to Convert a HAR file into a ZebraTester Script
        • How to Convert a LoadRunner Script to ZebraTester
        • How to Import the ZT Root Certificate to an iOS device
        • How to iterate over JSON objects in ZebraTester using Inline Scripts
        • How to round a number to a certain number of decimal points within a ZebraTester Inline Script
        • How to Use a Custom DNS Host File Within a ZebraTester Script
        • How to Move a ZebraTester Script to an Older Format
        • API Plugin Version
        • Setting up the Memu Player for ZebraTester Recording
        • Inline Script Version
      • Apica Data Repository (ADR) aka Apica Table Server
        • ADR related inline functions available in ZT
        • Apica Data Repository Release Notes
        • REST Endpoint Examples
        • Accessing the ADR with Inline Scripts
      • ZebraTester Plugin Repository
      • Apica YAML
        • Installing and Using the ApicaYAML CLI Tool
        • Understanding ApicaYAML Scripting and Syntax
    • Load Testing Overview
      • Getting Started with ALT
      • Creating / Running a Single Load Test
      • Running Multiple Tests Concurrently
      • Understanding Loadtest Results
    • Test Data Orchestrator (TDO)
      • Technical Guides
        • Hardware / Environment Requirements
        • IP Forwarding Instructions (Linux)
        • Self-Signed Certificate
        • Windows Server Install
        • Linux Server Install
        • User Maintenance
        • LDAP Setup
        • MongoDB Community Server Setup
        • TDX Installation Guide
      • User Documentation
        • End User Guide for TDO
          • Connecting to Orson
          • Coverage Sets and Business Rules
          • Data Assembly
          • Downloading Data
        • User Guide for TDX
          • Connecting to TDX
          • Setting up a Data Profile
          • Extracting Data
          • Analyzing Data Patterns
          • Performing Table Updates
        • API Guide
          • API Structure and Usage
          • Determining Attribute APIs
            • Create Determining Attribute (Range-based)
            • Create Determining Attribute (Value-based)
            • Update Determining Attributes
            • Get Determining Attribute Details
            • Delete a Determining Attribute
          • Coverage Set API’s
            • Create Coverage Set
            • Update Coverage Set
            • Get All Coverage Set Details
            • Get Single Coverage Set Details
            • Lock Coverage Set
            • Unlock Coverage Set
            • Delete Coverage Set
          • Business Rule API’s
            • Create Business Rule
            • Update Business Rule
            • Get Business Rule Details
            • Get All Business Rules
            • Delete Business Rule
          • Workset API's
            • Create Workset
            • Update Workset
            • Get All Worksets
            • Get Workset Details
            • Unlock Workset
            • Clone Workset
            • Delete Workset
          • Data Assembly API's
            • Assemble Data
            • Check Assembly Process
          • Data Movement API's
            • Ingest (Upload) Data Files
            • Download Data Files
              • HTML Download
              • CSV Download
              • Comma Delimited with Sequence Numbers Download
              • Pipe Delimited Download
              • Tab Delimited with Sequence Numbers Download
              • EDI X12 834 Download
              • SQL Lite db Download
              • Alight File Format Download
          • Reporting API's
            • Session Events
            • Rules Events
            • Coverage Events
            • Retrieve Data Block Contents
            • Data Assembly Summary
        • Workflow Guide
        • TDO Project Builder User Guide
          • Project Design
          • Projects
            • Select Existing Project
            • Create a New Project
        • Format Function Guide
      • Release Notes
        • Build 1.0.2.0-20250213-1458
  • IRONdb
    • Getting Started
      • Installation
      • Configuration
      • Cluster Sizing
      • Command Line Options
      • ZFS Guide
    • Administration
      • Activity Tracking
      • Compacting Numeric Rollups
      • Migrating To A New Cluster
      • Monitoring
      • Operations
      • Rebuilding IRONdb Nodes
      • Resizing Clusters
    • API
      • API Specs
      • Data Deletion
      • Data Retrieval
      • Data Submission
      • Rebalance
      • State and Topology
    • Integrations
      • Graphite
      • Prometheus
      • OpenTSDB
    • Tools
      • Grafana Data Source
      • Graphite Plugin
      • IRONdb Relay
      • IRONdb Relay Release Notes
    • Metric Names and Tags
    • Release Notes
    • Archived Release Notes
  • Administration
    • E-Mail Configuration
    • Single Sign-On with SAML
    • Port Management
    • Audit Trail
      • Events Trail
      • Alerts Trail
Powered by GitBook
On this page
  • Installation and Configuration
  • How can I update the license without reinstalling ZebraTester?
  • How to upgrade ZebraTester to a newer version?
  • Why are my load test jobs restricted to simulate only 50 virtual users?
  • How can I start an Exec Agent (Load Generator) as a Windows Service?
  • Where I can register additional Exec Agents in the GUI?
  • What kinds of network protocols are supported for transferring load test jobs to external Exec Agents?
  • How can I change the root directory of the Project Navigator?
  • How can I change the default time zone?
  • Why I get the error "AWS Error Message: Request has expired" when trying to access the Amazon EC2 Service from the ZebraTester GUI?
  • How to remove ZebraTester completely from a computer?
  • Recording and Post-Processing of Web Surfing Sessions
  • Is it possible to open two scripts at the same time?
  • Which web browser products are supported for the recording of web surfing sessions?
  • Which web browser products can be emulated during a load test?
  • What kinds of data are captured during the recording of a web surfing session?
  • Is it possible to record a web surfing session over several web servers?
  • Why does the web browser display a security warning during the recording of a web surfing session for an SSL-encrypted website (HTTPS)?
  • Are session cookies supported?
  • How can I handle session-specific parameters which are exchanged as CGI or as form values?
  • How can I assign to each simulated user an own username and password during the execution of a load test?
  • How can I achieve that some of the simulated users are executing only parts of a web surfing session?
  • Load Test Execution
  • What can I do if my generated load test program does not work?
  • I have recorded a web surfing session which uploads a file - But why does the load test fail?
  • Is it possible to run in parallel several load test jobs that are based on different web surfing sessions?
  • What is the maximum number of virtual users that can be reached by a load test?
  • Why I can't use my Windows workstation to generate a realistic load?
  • What should be measured?
  • How can I easily determine if the network is the reason for slow response times?
  • What can be done if embedded images are slowly displayed?
  • If a response timeout is measured - or when slow response times are measured: How can I determine exactly if this is a network problem or because if the web application responds too slowly?
  • What's the error type "Network Error at Client Side"?

Was this helpful?

Edit on GitHub
Export as PDF
  1. PLATFORM DOCS
  2. ZebraTester Scripting

ZebraTester FAQ

PreviousGitHub Integration Manual V5.4.1NextZebraTester How-to articles

Last updated 2 months ago

Was this helpful?

A list of frequently asked questions.


Installation and Configuration

How can I update the license without reinstalling ZebraTester?

You have to update the content of the files prxsniff.key and ExecAgentTicket.dat by using a normal text editor like notepad.exe or vi. Both files are located in the ZebraTester installation directory. The file prxsniff.key contains your GUI license key and the File ExecAgentTicket.dat contains your Exec Agent License Ticket. You have to restart ZebraTester after you have updated your license. Note: if you do not have an Exec Agent License Ticket for your local system on which the GUI is running you can let the content of the file ExecAgentTicket.dat empty. In such a case only 50 virtual users can be simulated by your local Exec Agent.

How to upgrade ZebraTester to a newer version?

If you have installed ZebraTester by using an installation kit for Windows, Mac OS X, or Ubuntu, you have first to uninstall ZebraTester by calling the corresponding uninstaller utility. Your load test data will not be deleted. After that install the new ZebraTester version. During installation, select the same installation directory that was used in the previous version in order that the content of your MyTests sub-directory continues to be accessible from the Project Navigator. Ensure that all additional (remote) Exec Agents are also upgraded to the new ZebraTester Version. Mixing different ZebraTester versions for the GUI and the (remote) Exec Agents is not supported, and will lead to errors when starting Load Tests.

Why are my load test jobs restricted to simulate only 50 virtual users?

The reason is that the content of the file ExecAgentTicket.dat which contains your Exec Agent License Ticket data cannot be read or contains invalid data. If you have started ZebraTester in a normal way by clicking on the "ZebraTester Console" icon, please scroll up inside the ZebraTester Console (the black window with the green text) at the beginning of the output to see the corresponding error message. Please note that the content of the file ExecAgentTicket.dat must also include the delimiter lines:

-----BEGIN EXEC AGENT LICENSE TICKET-----

and

-----END EXEC AGENT LICENSE TICKET-----

How can I start an Exec Agent (Load Generator) as a Windows Service?

Starting an Exec Agent (load generator) as a Windows service is only recommended on (remote) systems where no ZebraTester Console is started. As the first step, install ZebraTester by running the normal Windows installation kit but do not enter a GUI license key during installation: enter only the corresponding Exec Agent License Ticket data. After installation, call InstallExecAgentService.bat. This script will register the Windows Service ZebraTester ExecAgent. For the first time - after running this script - you have to start this service manually. Consider also that you have to reconfigure the firewall in such a way that inbound connections on TCP/IP port 7993 are enabled. Note for Windows Vista/7/2008 systems: it is necessary that you disable UAC to start this service successfully. Special notes for uninstalling ZebraTester in such a case: before uninstalling ZebraTester you have first to stop manually the service ZebraTester ExecAgent. Then deregister the service by calling UninstallExecAgentService.bat. After that, you can continue to uninstall ZebraTester in the normal way.

Where I can register additional Exec Agents in the GUI?

From the Main Menu, open the "Project Navigator", and after that click on the "Network" icon at the top of the "Project Navigator" window which will open the "Exec Agent Network Configuration" window.

What kinds of network protocols are supported for transferring load test jobs to external Exec Agents?

For internal communication between the GUI and the Exec Agents, plain TCP/IP network connections as well as HTTP/S tunneling is supported. Usually, the Exec Agents are listening on plain TCP/IP port 7993 - or on port 80 / 443 when HTTP / HTTPS is used for internal communication.

How can I change the root directory of the Project Navigator?

Modify the content of the file mytests.dat inside the installation directory. Then restart ZebraTester and clear all cookies of your web browser.

Hint: the root directory of the Project Navigator can also point to a directory of a file share in order that several users of the ZebraTester product have access to the same data.

How can I change the default time zone?

Modify the content of the file prxsniff.dat inside the installation directory. Then restart ZebraTester and clear all cookies of your web browser.

Why I get the error "AWS Error Message: Request has expired" when trying to access the Amazon EC2 Service from the ZebraTester GUI?

Please check the system clock on your computer. The date sent from your local computer must be within 15 minutes of the Amazon clock or you will get an error like this.

How to remove ZebraTester completely from a computer?

If you have installed ZebraTester by using an installation kit, please call first the corresponding uninstall utility. However, the uninstall utility does not delete your license data and it does also not delete your load test programs and your load test results. After running the uninstall utility, you have to also delete the ZebraTester installation directory manually in order that everything is uninstalled.


Recording and Post-Processing of Web Surfing Sessions

Is it possible to open two scripts at the same time?

Which web browser products are supported for the recording of web surfing sessions?

Every web browser product is supported (Microsoft Internet Explorer, Firefox, Safari, ..). For a recording of a web surfing session, you have only to modify the Proxy Settings of your web browser. If you are using Firefox you can also install our Firefox Add-On named "Recording Extension" which allows you to record web surfing sessions in a more convenient way.

Which web browser products can be emulated during a load test?

In our opinion, this is the wrong question. In the opposite way to many other products - ZebraTester emulates during a load test exactly the traffic of the web browser product with which one the web session has been recorded. So if you use for example a German Mozilla V1.0 web browser for recording, a German Mozilla V1.0 web browser is emulated during the load test - with all of its specific traffic. This may be a big benefit if the webserver delivers browser-specific content. Many other products are only able to record web surfing sessions with a modified Microsoft browser which is not the same. Please note that altering only the HTTP header field "User-Agent" (this is what they do) for emulating another web browser does not the same because the internal behavior will be still based on the Microsoft browser engine.

What kinds of data are captured during the recording of a web surfing session?

Completely all data which are exchanged between the web browser and the webserver(s), inclusive exchanged data released by JavaScript code and AJAX and released by Pop-Up windows.

Is it possible to record a web surfing session over several web servers?

Yes. However, for testing web portals, it might be a good idea to strip off advertising banners from external servers by using the filter of the Web Admin GUI or by deleting individual URL calls.

Why does the web browser display a security warning during the recording of a web surfing session for an SSL-encrypted website (HTTPS)?

If you record encrypted HTTPS data with ZebraTester, the web browser will display a security alert. This is "normal" behavior when - and only when - using ZebraTester because the integrated SSL tunnel will decrypt the data (for recording), and will generate on-the-fly a faked and invalid server certificate.

It's strongly recommended to create your own trusted root certificate for ZebraTester to use to prevent this from happening. How to do this is described in the ZebraTester Installation Guide.

The format of this warning message depends on the web browser you are using. To continue recording, you can click one or more times through to the "Continue", "Ignore" or "Confirm Security Exception" button.

Note: Never ignore these kinds of error messages when not recording web sessions with ZebraTester; that is, during normal web surfing. The apparent secure connection to the webserver may actually be insecure and might be wiretapped or modified by cyber-criminals in this situation.

Are session cookies supported?

Yes (no special configuration is needed).

How can I handle session-specific parameters which are exchanged as CGI or as form values?

The GUI based "Variable Finder" and "Variable Handler" menus support to extract session-specific parameters from HTTP header fields, from HTML forms, from hyperlinks, from XML and SOAP data, from JSON data, and by using an integrated GUI based parser from any response content. The assignment of such extracted values to succeeding URL calls happens automatically. Please take a look at this example. Further information is provided in the "Users Guide".

How can I assign to each simulated user an own username and password during the execution of a load test?

You have to define an "Input File". Please take a look at this example - and please read the corresponding chapter about Input Files in the "Users Guide".

How can I achieve that some of the simulated users are executing only parts of a web surfing session?

You have to define "Inner Loops" which numbers of iterations are controlled by a variable. The value of such a variable can also be 0 (zero). A value of zero means that a simulated user does not execute (enter) the inner loop. This can be used in combination with an Input File whose file scope is "new line per user" or "new line per loop" and whose lines contain values of zero and one which is assigned to the variables of the iterations; that is, some of the users skip parts of the recorded web surfing session during the load test.


Load Test Execution

What can I do if my generated load test program does not work?

In many such cases the handling of "Dynamically-Exchanged Session Parameters" was not performed in the GUI. Please read this documentation Handling of "Dynamically-Exchanged Session Parameters" and perform the suggested tasks. After that generate the load test program again and try to run your load test once more.

I have recorded a web surfing session which uploads a file - But why does the load test fail?

The load test fails because the uploaded file has not been zipped together with the load test program. You have to copy the uploaded file also into the same "Project Navigator" directory, in which your load test program is located. After that, you have to ZIP the compiled class (*.class file) of the load test program together with the uploaded file (and optionally together with your Input Files and Plug-Ins) to one ZIP archive by using the ZIP functionality inside the "Project Navigator". After that, you can start the load test by clicking on the Execute-Icon of the newly created ZIP archive.

Is it possible to run in parallel several load test jobs that are based on different web surfing sessions?

Yes, this is fully supported. The GUI only 'transfers' a load test job to a local or to a remote Exec Agent (load generator), which allows you to execute an unlimited number of parallel load test jobs at the same time. Each Exec Agent is also able to execute several load test jobs at the same time. Nevertheless, the GUI can (but not must) hold a live network connection to each load test job which allows us to display real-time statistics. Closing a real-time statistic window will not interrupt a load test job.

What is the maximum number of virtual users that can be reached by a load test?

The ZebraTester architecture supports executing high-end load tests with an in reality an unlimited number of virtual users. All product components are fully multithreaded implemented. However, the underlying operating system of a single Exec Agent (load injector) can be overloaded if too many concurrent virtual users are executed by the same system. In most common cases of overload, the CPU(s) of an Exec Agent is always nearly 100% used and the measured response times are in such a case not valid because the measuring system by itself is overloaded.

ZebraTester supports therefore to combine an unlimited number of Exec Agents to a cluster so that an unlimited number of virtual users can be reached - or in other words, the maximum number of virtual users is only limited by the power and the number of the Exec Agents. ZebraTester supports to execute cluster jobs in an absolutely transparent way and merges automatically the measured results of the corresponding Exec Agents to a united load test result. Several cluster jobs can run in parallel, by using the same or a different collection of Exec Agents. Exec Agent Clusters can be composed by using a mixed collection of local and remote Windows and Unix-like systems.

Why I can't use my Windows workstation to generate a realistic load?

Normally, the anti-virus scanner of your Windows workstation intercepts all HTTP(S) connections but is not capable to scan the network traffic during a load test when hundreds of web users are simulated. As a result of this, you will measure wrong response times and nonexistent network problems.

Therefore we strongly recommend that you operate the load generators on Unix-Like systems. The scalable and operating system independent architecture of ZebraTester allows you to run the ZebraTester GUI on any operating system (including Windows) and to use from these GUI load generators which are installed on any other operating system. The most normal case is that the GUI is installed on one or several Windows workstations, but that the load generators are installed on Unix-like systems.

As a further alternative, you can also use your Windows workstation or dedicated Windows servers as load generators - but only in case if you are permitted to disable the anti-virus scanner in such a way that no HTTP(S) connections are scanned.

What should be measured?

We recommend, that you record a web surfing session which covers the key menus (most used menus) of the web application and that you execute the same load test several times by using a different number of concurrent users for each test-run (1, 2, 5, 10, 20, 50, 100, 200 …). After that, a graphical comparison of the measured results can be done (so-called "Load Curves") which will give you an excellent overview of the stability and the maximal capacity of the web application.

You should also have a closer look at the response times per web page and within a page to the response time per URL to isolate the top-time consuming URLs. If you encounter big differences between the URL response times - which are more or less size-independent - you have found valuable candidates for a server-sided tuning.

You will obtain a lot of additional information by examining the detailed results of each test-run. Up to 19 different diagrams and statistics are available. Example - composition of slowest URL calls:

To detect memory and resource leaks at the server side we recommend that you additionally perform an endurance test over a couple of hours by using a moderate number of concurrent users.

How can I easily determine if the network is the reason for slow response times?

Whatever somebody is trying to tell you - the network throughput is commonly not the reason for slow response times. We suggest that you compare the response time of a bigger static image ore a style sheet with the response time of a server-side generated HTML page which has approximately the same size. For example: if an image of 20 kBytes size has been received within 200 Milliseconds, but a server-side generated HTML page with a size of 30 kBytes takes 5 Seconds, the network is definitively not the reason that the server-side generated HTML page has a slow response time. There must be another reason which is outside the network, commonly found inside the webserver.

What can be done if embedded images are slowly displayed?

If the text of a web page is received within a moderate response time, but the embedded images are displayed slowly bit by bit, it might be that the keep-alive option has been disabled at server-side or a downgrade to the older HTTP protocol version 1.0 is forced by the web server - instead of using the newer HTTP protocol version 1.1. You can check this by selecting the "HTTP Keep-Alive Efficiency" diagram on the result details menu of a test-run.

If the rate of the "Successful Recycled Network Connections" is less than 70% - or if only "New Created Network Connections" have been measured, the webserver is wrong configured and you should try to enable its keep-alive option. Thereafter you should measure the webserver again to check if it performs better. We recommend that the keep-alive timeout is configured within a range of 7-15 Seconds.

If a response timeout is measured - or when slow response times are measured: How can I determine exactly if this is a network problem or because if the web application responds too slowly?

During the execution of each HTTP(S) request the "internal processing states" of the HTTP(S) request are also captured by ZebraTester. In case of a response timeout - or when slow response times are measured - such an error is only a network problem (firewall, rooter, insufficient network throughput, loss of TCP/IP packets) if the error occurs at the internal HTTP(S) processing states "Open Network Connection", or "Receive HTTP Header", or "Receive Content".

If a response timeout or slow response times are measured at the HTTP(S) processing state "Wait for Server Response" the error occurred because the web application responds too slowly (the most normal case).

The following "internal processing states" of each HTTP(S) request are measured by ZebraTester.

The time elapsed in milliseconds for some states is also captured by ZebraTester if no error occurs - for each successful executed HTTP(S) request.

What's the error type "Network Error at Client Side"?

You are out of free client sockets (free network connections) on your load generator (Exec Agent) and you have to tune the TCP/IP configuration of the operating system on the load generator. This may happen especially on Windows systems - or if the load test uses the older HTTP V1.0 protocol - or when the web application server does not support "keep-alive" and therefore network connections can not be reused or recycled. This may also happen if the web application performs very well and therefore the load initiating system is using a lot of new network connections within a short time.

Action: add the following new entries with Regedit on your load initiating system. Afterward, you must reboot the system.

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

In addition, we recommend that you execute the following command from a terminal window: netsh int ipv4 set dynamicport tcp start=12288 num=53247

UNIX-like Systems

This problem usually does not occur on Unix-like systems: you can check with ulimit -n the number of maximally available file and network connections per process. Increasing this value can be done with ulimit -n. Example (recommended value): ulimit -n 16384. This has to be done before a ZebraTester Exec Agent process is started.

It is possible to open two scripts at the same time starting from . Simply open the ZebraTester GUI (127.0.0.1:7990) in two separate tabs, open one script in the first tab via Project Navigator, and open the second script in the second tab.

Installation and Configuration
How can I update the license without reinstalling ZebraTester?
How to upgrade ZebraTester to a newer version?
Why are my load test jobs restricted to simulate only 50 virtual users?
How can I start an Exec Agent (Load Generator) as a Windows Service?
Where I can register additional Exec Agents in the GUI?
What kinds of network protocols are supported for transferring load test jobs to external Exec Agents?
How can I change the root directory of the Project Navigator?
How can I change the default time zone?
Why I get the error "AWS Error Message: Request has expired" when trying to access the Amazon EC2 Service from the ZebraTester GUI?
How to remove ZebraTester completely from a computer?
Recording and Post-Processing of Web Surfing Sessions
Is it possible to open two scripts at the same time?
Which web browser products are supported for the recording of web surfing sessions?
Which web browser products can be emulated during a load test?
What kinds of data are captured during the recording of a web surfing session?
Is it possible to record a web surfing session over several web servers?
Why does the web browser display a security warning during the recording of a web surfing session for an SSL-encrypted website (HTTPS)?
Are session cookies supported?
How can I handle session-specific parameters which are exchanged as CGI or as form values?
How can I assign to each simulated user an own username and password during the execution of a load test?
How can I achieve that some of the simulated users are executing only parts of a web surfing session?
Load Test Execution
What can I do if my generated load test program does not work?
I have recorded a web surfing session which uploads a file - But why does the load test fail?
Is it possible to run in parallel several load test jobs that are based on different web surfing sessions?
What is the maximum number of virtual users that can be reached by a load test?
Why I can't use my Windows workstation to generate a realistic load?
What should be measured?
How can I easily determine if the network is the reason for slow response times?
What can be done if embedded images are slowly displayed?
If a response timeout is measured - or when slow response times are measured: How can I determine exactly if this is a network problem or because if the web application responds too slowly?
What's the error type "Network Error at Client Side"?
ZebraTester version 7.5A
Microsoft Knowledge Base Article - 120642
Microsoft Knowledge Base Article - 314053