Keep your test scripts modular by separating test logic, data, and configuration. This makes debugging easier and allows for better test maintenance.
If your LoadForge test fails, it may be due to errors in your Locustfile. These could be simple Python syntax errors or issues with how the test is defined.
LoadForge provides a built-in test debugger that runs your test and attempts to send requests through it. This is the easiest way to diagnose common issues.👉 Head over to the Test Debugger to get started.
If your test isn’t running, the debugger will highlight syntax errors, request failures, or misconfigurations in real time.
Live Chat: Available directly in the LoadForge dashboard.
The LoadForge team is happy to assist with Locustfile issues, test configuration, and debugging complex scenarios.
If you’re unsure what’s wrong, share your test script and error logs with LoadForge support for faster troubleshooting.
By following these debugging steps, you can quickly diagnose and fix issues, ensuring smooth and reliable load tests in LoadForge!
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LoadForge Docs","colors":{"primary":"#4f46e5","light":"#c4b4ff","dark":"#4f46e5"},"logo":{"light":"https://mintcdn.com/loadforge/Yesb_PiwUXZO8WCZ/logo/light.svg?fit=max\u0026auto=format\u0026n=Yesb_PiwUXZO8WCZ\u0026q=85\u0026s=37648ac33faaf4c6fd3224ded36dbcaa","dark":"https://mintcdn.com/loadforge/Yesb_PiwUXZO8WCZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=Yesb_PiwUXZO8WCZ\u0026q=85\u0026s=5df5c5ff8bdb12ed5c41759f60aaa433"},"favicon":"/favicon.ico","navbar":{"links":[{"href":"mailto:help@loadforge.com","label":"Support"}],"primary":{"type":"button","label":"Start Free","href":"https://app.loadforge.com/register"}},"footer":{"socials":{"github":"https://github.com/adventdevinc"},"links":[{"header":"Product","items":[{"label":"Pricing","href":"https://loadforge.com/pricing"},{"label":"Changelog","href":"https://blog.loadforge.com"},{"label":"Status","href":"https://status.loadforge.com"}]},{"header":"Resources","items":[{"label":"Documentation","href":"https://docs.loadforge.com"},{"label":"API Reference","href":"https://docs.loadforge.com/api-reference/introduction"},{"label":"Script Examples","href":"https://docs.loadforge.com/examples/overview"}]},{"header":"Company","items":[{"label":"Website","href":"https://loadforge.com"},{"label":"Blog","href":"https://blog.loadforge.com"},{"label":"Support","href":"mailto:help@loadforge.com"}]}]},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Documentation","icon":"book","href":"https://docs.loadforge.com"},{"anchor":"Website","icon":"globe","href":"https://loadforge.com/"},{"anchor":"Test Examples","icon":"book-open-cover","href":"https://docs.loadforge.com/examples/overview"},{"anchor":"Pricing","icon":"credit-card","href":"https://loadforge.com/pricing"},{"anchor":"Blog","icon":"newspaper","href":"https://blog.loadforge.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"loadforge","hasAudioNarration":false,"actualSubdomain":"loadforge","customDomains":["docs.loadforge.com"],"gitSource":{"type":"github","owner":"adventdevinc","repo":"lf-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"edits":true,"issues":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae925eeb35e9cea405bc083:success","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Script Examples","count":84},{"language":"default","tag":"Guides","count":51},{"language":"default","tag":"API Reference","count":22},{"language":"default","tag":"Tests","count":15},{"language":"default","tag":"Authentication \u0026 Security","count":10},{"language":"default","tag":"Test Scripting","count":10},{"language":"default","tag":"Runs \u0026 Results","count":9},{"language":"default","tag":"QA Testing","count":8},{"language":"default","tag":"Hosts","count":7},{"language":"default","tag":"Emerging Technology","count":7}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"help@loadforge.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"test-scripts/debugging","slug":"/test-scripts/debugging","pageMetadata":{"title":"Debugging Scripts","description":"How to debug a failing LoadForge test.","href":"/test-scripts/debugging","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How to debug a failing LoadForge test.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`debugging-load-tests`,children:`Debugging Load Tests`}),`\n`,_jsx(Tip,{children:`Keep your test scripts modular by separating test logic, data, and configuration. This makes debugging easier and allows for better test maintenance.`}),`\n`,_jsxs(_components.p,{children:[`If your `,_jsx(_components.strong,{children:`LoadForge test fails`}),`, it may be due to `,_jsx(_components.strong,{children:`errors in your Locustfile`}),`. These could be simple `,_jsx(_components.strong,{children:`Python syntax errors`}),` or issues with how the test is defined.`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-use-the-test-debugger`,children:`1. Use the Test Debugger`}),`\n`,_jsxs(_components.p,{children:[`LoadForge provides a `,_jsx(_components.strong,{children:`built-in test debugger`}),` that runs your test and attempts to send requests through it. This is the easiest way to diagnose common issues.`]}),`\n`,_jsxs(_components.p,{children:[`👉 Head over to the `,_jsx(_components.a,{href:`https://app.loadforge.com/tests/check`,children:_jsx(_components.strong,{children:`Test Debugger`})}),` to get started.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`If your test isn’t running, the debugger will highlight syntax errors, request failures, or misconfigurations in real time.`})}),`\n`,_jsx(Heading,{level:`2`,id:`2-test-locally`,children:`2. Test Locally`}),`\n`,_jsxs(_components.p,{children:[`Before running a test in LoadForge, you can `,_jsx(_components.strong,{children:`validate your Locustfile locally`}),` to catch syntax errors.`]}),`\n`,_jsx(Heading,{level:`3`,id:`check-for-syntax-errors`,children:_jsx(_components.strong,{children:`Check for Syntax Errors`})}),`\n`,_jsxs(_components.p,{children:[`To ensure your test script is correctly formatted, save it as a Python file (`,_jsx(_components.code,{children:`example.py`}),`) and run:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`python`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -m`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` py_compile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` example.py`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`This will catch `,_jsx(_components.strong,{children:`basic Python syntax errors`}),` before you attempt a full test.`]}),`\n`,_jsx(Heading,{level:`3`,id:`run-a-local-locust-test`,children:_jsx(_components.strong,{children:`Run a Local Locust Test`})}),`\n`,_jsx(_components.p,{children:`To execute your test locally, first install Locust and its dependencies:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Update package list and install system dependencies`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apt-get`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -y`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apt-get`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -y`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` python3-pip`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxml2-dev`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxslt1-dev`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` build-essential`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` python3-dev`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libzmq3-dev`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` gcc`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libatk1.0-0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libatk-bridge2.0-0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libcups2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxcomposite1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxdamage1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxfixes3`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxrandr2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libgbm1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libxkbcommon0`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libpango-1.0-0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libcairo2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libasound2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` libatspi2.0-0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Install Python packages`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pip3`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --prefer-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` locust`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pyquery`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uuid`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` gevent`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Flask`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` gevent-websocket`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` greenlet`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` itsdangerous`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Jinja2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` linecache2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` MarkupSafe`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mock`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` msgpack`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pyzmq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` six`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` traceback2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` unittest2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` websocket-client`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Werkzeug`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` jsonpath-ng`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PyMySQL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sqlalchemy`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pg8000`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` xmltodict`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pandas`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` oauthlib`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` splinter`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` requests-oauthlib`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` websocket-client`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` beautifulsoup4`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` web3`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` eth-account`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` locust-plugins`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` locust-plugins[appinsights]`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` opencensus==`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.7.12`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` opencensus-ext-azure==`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1.0.6`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Faker`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` datadog`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pyjwt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pycryptodome`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` python-socketio[client]`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cryptography`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` xxhash`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` requests`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` playwright`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` locust-plugins[playwright]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Install Playwright browsers`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`playwright`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` chrome`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` chromium`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Then, run your test using Locust:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`locust`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` example.py`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --host`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_HOST_HERE`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -u`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 10`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 10`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --run-time`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 1m`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --headless`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`This executes a `,_jsx(_components.strong,{children:`1-minute test`}),` with `,_jsx(_components.strong,{children:`10 sample users`}),`, helping you `,_jsx(_components.strong,{children:`identify issues before deploying to LoadForge`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If your test runs locally but fails in LoadForge, check for `,_jsx(_components.strong,{children:`network restrictions, authentication issues, or host validation problems`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`3-additional-debugging-tips`,children:`3. Additional Debugging Tips`}),`\n`,_jsx(Heading,{level:`3`,id:`use-chatgpt-for-debugging`,children:_jsx(_components.strong,{children:`Use ChatGPT for Debugging`})}),`\n`,_jsxs(_components.p,{children:[`LoadForge test scripts follow a `,_jsx(_components.strong,{children:`Locust-based format`}),`, which ChatGPT understands well. If you’re stuck, try:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Copy-pasting your Locustfile into ChatGPT`}),` and asking it to check for errors.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Describing your issue`}),` and asking for debugging advice.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Requesting optimizations`}),` to improve script performance.`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`ChatGPT can help debug syntax errors, request failures, and suggest improvements to your load test.`})}),`\n`,_jsx(Heading,{level:`3`,id:`enable-logging-in-locust`,children:_jsx(_components.strong,{children:`Enable Logging in Locust`})}),`\n`,_jsx(_components.p,{children:`If you’re unsure what’s failing, enable verbose logging by modifying your script:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` logging`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`logging.basicConfig(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`level`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`logging.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`DEBUG`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This will output detailed logs during the test execution, showing request failures and bottlenecks.`}),`\n`,_jsx(Heading,{level:`3`,id:`check-loadforge-errors-\u0026-logs`,children:_jsx(_components.strong,{children:`Check LoadForge Errors \u0026 Logs`})}),`\n`,_jsxs(_components.p,{children:[`If your test `,_jsx(_components.strong,{children:`fails in LoadForge`}),`, check:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Run Results Page`}),` for error messages.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response time metrics`}),` to see if timeouts are occurring.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Error logs`}),` for HTTP status codes (e.g., `,_jsx(_components.code,{children:`401 Unauthorized`}),`, `,_jsx(_components.code,{children:`500 Internal Server Error`}),`).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-request-support`,children:`4. Request Support`}),`\n`,_jsxs(_components.p,{children:[`If you still need help, `,_jsx(_components.strong,{children:`contact LoadForge support`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Email:`}),` `,_jsx(_components.a,{href:`mailto:hello@loadforge.com`,children:`hello@loadforge.com`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Live Chat:`}),` Available directly in the LoadForge dashboard.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The LoadForge team is happy to assist with `,_jsx(_components.strong,{children:`Locustfile issues, test configuration, and debugging complex scenarios`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If you’re unsure what’s wrong, share your `,_jsx(_components.strong,{children:`test script and error logs`}),` with LoadForge support for faster troubleshooting.`]})}),`\n`,_jsx(_components.p,{children:`By following these debugging steps, you can quickly diagnose and fix issues, ensuring smooth and reliable load tests in LoadForge!`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Debugging Scripts","description":"How to debug a failing LoadForge test.","href":"/test-scripts/debugging","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Debugging Load Tests","slug":"debugging-load-tests","depth":1,"children":[]},{"title":"1. Use the Test Debugger","slug":"1-use-the-test-debugger","depth":2,"children":[]},{"title":"2. Test Locally","slug":"2-test-locally","depth":2,"children":[{"title":"Check for Syntax Errors","slug":"check-for-syntax-errors","depth":3,"children":[]},{"title":"Run a Local Locust Test","slug":"run-a-local-locust-test","depth":3,"children":[]}]},{"title":"3. Additional Debugging Tips","slug":"3-additional-debugging-tips","depth":2,"children":[{"title":"Use ChatGPT for Debugging","slug":"use-chatgpt-for-debugging","depth":3,"children":[]},{"title":"Enable Logging in Locust","slug":"enable-logging-in-locust","depth":3,"children":[]},{"title":"Check LoadForge Errors \u0026 Logs","slug":"check-loadforge-errors-\u0026-logs","depth":3,"children":[]}]},{"title":"4. Request Support","slug":"4-request-support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/loadforge/722b0e4fdbb88adb/chat.js"],"subdomain":"loadforge","siteName":"LoadForge Docs","title":"Debugging Scripts - LoadForge Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T06:57:17.143Z","originalFileLocation":"test-scripts/debugging.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How to debug a failing LoadForge test.\">\u003cmeta data-mint-head name=\"application-name\" content=\"LoadForge Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Debugging Scripts - LoadForge Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"How to debug a failing LoadForge test.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LoadForge Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.loadforge.com/test-scripts/debugging\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://loadforge.mintlify.site/_mintlify/api/og/v2?division=Test+Scripting\u0026amp;title=Debugging+Scripts\u0026amp;description=How+to+debug+a+failing+LoadForge+test.\u0026amp;theme=684ef5e486f15470f5c9d733\u0026amp;signature=b9ac36a272e2626ecef5f9f98107bf47d5b0e23b28b781d7245f126d7eb03682\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Debugging Scripts - LoadForge Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How to debug a failing LoadForge test.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://loadforge.mintlify.site/_mintlify/api/og/v2?division=Test+Scripting\u0026amp;title=Debugging+Scripts\u0026amp;description=How+to+debug+a+failing+LoadForge+test.\u0026amp;theme=684ef5e486f15470f5c9d733\u0026amp;signature=b9ac36a272e2626ecef5f9f98107bf47d5b0e23b28b781d7245f126d7eb03682\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/loadforge/rsEC3W5cwSJyagpS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LoadForge Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4f46e5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.loadforge.com/test-scripts/debugging\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/test-scripts/debugging.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.loadforge.com/#organization\",\"name\":\"LoadForge Docs\",\"url\":\"https://docs.loadforge.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/loadforge/Yesb_PiwUXZO8WCZ/logo/light.svg?fit=max\u0026auto=format\u0026n=Yesb_PiwUXZO8WCZ\u0026q=85\u0026s=37648ac33faaf4c6fd3224ded36dbcaa\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.loadforge.com#website\",\"name\":\"LoadForge Docs\",\"url\":\"https://docs.loadforge.com\",\"publisher\":{\"@id\":\"https://docs.loadforge.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.loadforge.com/test-scripts/debugging#webpage\",\"url\":\"https://docs.loadforge.com/test-scripts/debugging\",\"name\":\"Debugging Scripts\",\"description\":\"How to debug a failing LoadForge test.\",\"dateModified\":\"2026-01-07T06:57:17.143Z\",\"isPartOf\":{\"@id\":\"https://docs.loadforge.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.loadforge.com/test-scripts/debugging#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.loadforge.com/test-scripts/debugging#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Test Scripting\",\"item\":\"https://docs.loadforge.com/test-scripts/record-your-browser\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debugging Scripts\",\"item\":\"https://docs.loadforge.com/test-scripts/debugging\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.loadforge.com/test-scripts/debugging#article\",\"headline\":\"Debugging Scripts\",\"name\":\"Debugging Scripts\",\"description\":\"How to debug a failing LoadForge test.\",\"url\":\"https://docs.loadforge.com/test-scripts/debugging\",\"mainEntityOfPage\":{\"@id\":\"https://docs.loadforge.com/test-scripts/debugging#webpage\"},\"dateModified\":\"2026-01-07T06:57:17.143Z\",\"publisher\":{\"@id\":\"https://docs.loadforge.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.loadforge.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LoadForge Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"LoadForge Docs","nav":{"global":{"anchors":[{"anchor":"Documentation","icon":"book","href":"https://docs.loadforge.com"},{"anchor":"Website","icon":"globe","href":"https://loadforge.com/"},{"anchor":"Test Examples","icon":"book-open-cover","href":"https://docs.loadforge.com/examples/overview"},{"anchor":"Pricing","icon":"credit-card","href":"https://loadforge.com/pricing"},{"anchor":"Blog","icon":"newspaper","href":"https://blog.loadforge.com"}]},"tabs":[{"tab":"Guides","groups":[{"group":"Get Started","pages":[{"title":"LoadForge - Cloud Load Testing Platform","href":"/introduction"},{"title":"Quickstart - Run Your First Load Test in 5 Minutes","href":"/quickstart"}]},{"group":"Essentials","pages":[{"title":"Understanding Load Testing","icon":"gear","href":"/essentials/understanding-load-testing"},{"title":"Simulating Real Users","icon":"user","href":"/essentials/simulating-real-users"},{"title":"Host Verification","icon":"server","href":"/essentials/hosts"},{"title":"Test Minutes \u0026 Consumption","icon":"timer","href":"/essentials/test-minutes"},{"title":"Using AI for Scripts","icon":"brain","href":"/essentials/using-ai-models"}]},{"group":"Hosts","pages":[{"title":"Host Overview","href":"/hosts/overview"},{"title":"Verification","href":"/hosts/verification"},{"title":"Uptime \u0026 Response Monitoring","href":"/hosts/uptime-response"},{"title":"User Experience","href":"/hosts/user-experience"}]},{"group":"Performance","pages":[{"title":"Performance Monitoring","href":"/performance/overview"},{"title":"LoadForge Score","href":"/performance/loadforge-score"},{"title":"Lighthouse Performance","href":"/performance/lighthouse"},{"title":"Core Web Vitals (CrUX)","href":"/performance/crux-metrics"},{"title":"Response Times \u0026 Uptime","href":"/performance/response-times"}]},{"group":"Tests","pages":[{"title":"Creating a Test","href":"/tests/creating-a-test"},{"title":"Schedule Automated Load Tests with Cron Expressions","href":"/tests/scheduling"},{"title":"Cloud Performance","href":"/tests/performance"},{"title":"Datacenter Locations","href":"/tests/datacenters"},{"title":"Worker Failures","href":"/tests/worker-failures"},{"title":"Random and Named Routes","href":"/tests/random-limit"},{"title":"Load Test Instance Sizes - Choose the Right Server","href":"/tests/instance-sizes"},{"title":"File Management","href":"/tests/file-management"},{"title":"Files in Tests","href":"/tests/files"},{"title":"Library Snippets","href":"/tests/library"},{"title":"Browser Testing","href":"/tests/browser"}]},{"group":"Test Scripting","pages":[{"title":"Browser Recording","description":"LoadForge enables you to capture browser actions and convert them into load tests.","href":"/test-scripts/record-your-browser"},{"title":"Debugging Scripts","href":"/test-scripts/debugging"},{"title":"Custom Load Test Shapes - Ramp, Spike \u0026 Step Patterns","description":"How to customize the user load shape of a test with ramp-up, spike, step, and custom patterns in LoadForge.","href":"/test-scripts/custom-shapes"},{"title":"Submitting Forms","href":"/test-scripts/submitting-forms"},{"title":"Handling CSRF Tokens","href":"/test-scripts/csrf"},{"title":"Disable SSL Verification in Load Tests","href":"/test-scripts/disable-ssl"},{"title":"Large Scale Testing","href":"/test-scripts/large-scale"},{"title":"Using AI for Scripts","href":"/test-scripts/using-ai-models"},{"title":"HLS (HTTP Live Streaming)","href":"/test-scripts/hls-testing"},{"title":"Browser Test Script Examples","href":"/test-scripts/browser-examples"}]},{"group":"Runs \u0026 Results","pages":[{"title":"Load Test Results - How to Read \u0026 Analyze Performance Data","href":"/runs/run-results"},{"title":"Comparing Runs","href":"/runs/comparing-runs"},{"title":"Apdex","href":"/runs/apdex"},{"title":"AI Analysis","href":"/runs/ai-summary"},{"title":"Debug Logging","href":"/runs/logging"}]},{"group":"Integrations","pages":[{"title":"Slack integration","href":"/misc/slack"},{"title":"Zapier integration","href":"/misc/zapier"},{"title":"Datadog integration","href":"/misc/datadog"},{"title":"AppInsights integration","href":"/misc/appinsights"},{"title":"Okta SSO","href":"/misc/okta"},{"title":"GitHub integration (Simple)","href":"/misc/github"},{"title":"GitHub Integration (Advanced)","href":"/misc/github-cli"}]},{"group":"Cloud","pages":[{"title":"Using the Cloud","href":"/cloud/overview"},{"title":"Cloud Costs","href":"/cloud/costs"}]}]},{"tab":"Script Examples","pages":[{"title":"Script Examples","href":"/examples/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Debugging Scripts - LoadForge Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}