Debugging
When you encounter errors or unexpected behavior during testing, Appian Locust provides several debugging tools and techniques to help identify and resolve issues.
Initial Troubleshooting Steps
Start simple: Test with a single user before scaling up to multiple users
Use print statements strategically throughout your test code
Verify your test environment is accessible and functioning normally before load testing
Check Locust’s web UI for detailed request statistics and failure information
Monitor system resources (CPU, memory) during test execution to identify bottlenecks
Request and Response Recording
Enable detailed recording of all HTTP requests and responses to inspect what’s being sent to your Appian instance.
Enable recording in your test:
class YourTaskSet(AppianTaskSet):
def __init__(self, parent):
super().__init__(parent)
self.client.record_mode = True
@task
def your_test(self):
# Your test code here
pass
When enabled, all requests and responses will be saved in a recorded_responses folder where your test runs. Each file contains the full HTTP request and response data for inspection. In addition on an Appian Cloud system a trace ID will be printed out that can be shared with Appian Support for investigation.
Common Debugging Scenarios
Monitoring the execution:
Locust periodically prints latency statistics to the console. Look for:
Requests that are much slower than expected
High failure rates for specific operations
Review the locust logs for exceptions
Request trends over time
Debugging UI State:
import json
# Add this to see the current page state
@task
def debug_page_state(self):
uiform = self.appian.visitor.visit_record_type("YourRecord")
print(f"Current page components: {uiform._state}")
# Alternatively, write it to a file for easier inspection
with open('page_state.json', 'w') as f:
f.write(json.dumps(uiform._state, indent=2))
Increase logging verbosity:
Leverage Locust’s built in logging options.
locust -f your_test.py --loglevel DEBUG
Browser Comparison
Compare your Appian Locust requests with actual browser behavior:
Open browser developer tools (F12) and go to the Network tab
Perform the same actions manually in your browser
Compare the requests that Appian Locust sends with what the browser sends
Look for differences in requests and the payloads.
Ensure responses look relevant for the components the test is trying to interact with
Single-User Debug Mode
Run your tests in single-user mode to use IDE breakpoints and step through your code line by line.
from locust import run_single_user
from your_test_file import YourUserActor
# Run a single user for debugging
run_single_user(YourUserActor)
This allows you to:
Set breakpoints in your IDE
Step through test execution
Inspect variables and state
Debug complex workflows interactively
For more details, see the Locust debugging documentation.
Getting Help
If you’re still experiencing issues after trying these debugging techniques:
Check the Gitlab Issues for similar problems, create a new issue if you don’t find anything.
Review the full documentation for additional guidance
Did you fix your issue? Consider suggesting improvements to our docs!