Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.
Check the PR Agent’s evidence before you act on a result. Save the generated tests you want to keep. Spur does not add them to your Test Library automatically.
Spur posts one comment on the PR and updates it as the run progresses. The first lines show the results, the commit, the deployment, and the Spur environment. Generated tests and existing tests have separate sections. Each failure says what Spur saw. Spur groups errors by cause and says what to do next.Start with the failures and errors. Then confirm that Spur tested the commit, deployment, and environment you meant to test. To see why Spur chose each saved test, expand Why Spur picked these tests under Existing tests.
Illustration rendered from a real PR Agent run and styled for readability. The GitHub user is an example.
Each test links to its result. Check the evidence before you decide what to fix.When saved tests already cover the change, Spur may not generate new ones.
Click Open the PR Agent run, or click a test in the comment. You need a Spur login to see the evidence.The run page lists generated tests, existing tests, and any suggested edits. Select a test to see its result.
Check what Spur saw, the steps it ran, and any screenshots or recording. A generated test’s recording shows Spur creating and checking the test. It is not a separate replay of the saved test.For example, if the change should keep a user’s new role, the evidence should show that role after a refresh. A screenshot of the Save click alone does not prove it.
Result
Meaning
Next step
Passed
The test’s checks passed.
Review the coverage and evidence, then decide whether to merge.
Failed
The test did not confirm the expected behavior.
Inspect the evidence. Fix the product, the test expectation, or the test data, then ask Spur to check again.
Error
Spur could not finish the test. The behavior is unchecked.
Fix the problem that the comment describes, then ask Spur to check again.
Stopped
Spur stopped the test before it finished, for example after a new commit or a stop request.
Ask Spur to test the PR again when you are ready.
Waiting or running
The test has no final result yet.
Follow progress in the PR comment or on the run page.
Saved login tests can appear with the existing tests. Spur runs them before the tests that need them. A login or deployment problem can stop several tests at once.After a fix, ask in your own words, for example @spur please recheck the tests that did not pass on the latest preview. On the run page, Rerun failed tests starts the same rerun and takes an optional note. To check the whole change again, describe what you want checked. See optional guidance.
Save tests after the run finishes and you have reviewed it. Spur adds the tests to the Test Suite you select. Saving does not add them to a Test Plan or schedule a run.
1
Open the save dialog
At the bottom of the run sidebar, click the save button. Its label shows how many tests you can save, such as Save 6 generated tests.
2
Select and review the tests
In Save generated tests, select the tests you want to keep. Open a test to review its name, steps, URL, and settings. You can edit the open test before you save it.If you edit a test, save the edits before you open another test. The dialog asks before it discards unsaved edits.
3
Select the destination suite
Open Save to and select an existing Test Suite. To create one, click New suite, enter its name, optionally select a folder, and click Create suite.
Select the destination suite under Save to.
Create a suite in a folder, or select an existing suite as the destination.
Tests belong to suites. If the suite is in a folder, its tests appear in that folder. If the suite has no environment for the test’s site, select another suite or add the site to one of the suite’s environments.
4
Save and open the suite
Click the save button, such as Save 2 tests. In the confirmation, click Open suite to see the saved tests. You can also find them in the Test Library.
You cannot save a test that has no steps. Spur saves unfinished tests as drafts. Finish them before you use them. Saving a failed test does not change its earlier result to a pass.If only some tests save, the dialog names the ones that failed. Check the suite before you try again, so that you do not save duplicates.Spur can pick saved tests for later PRs when they are relevant. To run a fixed set regularly, add the tests to a Test Plan and set up its runs there.
When a PR changes expected behavior, Spur can suggest an edit to an existing test. The saved test does not change until you edit it.Click Review in Spur in the PR comment. Read What to change, Why, and the current steps. Click Edit Test to make the changes you accept, then save the test. Check the next run’s evidence to confirm that the test checks the new behavior.
Was this page helpful?
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Spur Documentation","description":"Spur is an AI-powered QA engineer. Create, run, and analyze automated end-to-end tests for web and mobile apps using natural language.","colors":{"primary":"#4968ec","light":"#ffa07a","dark":"#4968ec"},"logo":{"light":"https://mintcdn.com/spur/cytvGy0qHI_KqMmI/logo/logo.png?fit=max\u0026auto=format\u0026n=cytvGy0qHI_KqMmI\u0026q=85\u0026s=f931455ec7ab89b4f23bea661c49b9a0","dark":"https://mintcdn.com/spur/cytvGy0qHI_KqMmI/logo/logo.png?fit=max\u0026auto=format\u0026n=cytvGy0qHI_KqMmI\u0026q=85\u0026s=f931455ec7ab89b4f23bea661c49b9a0"},"favicon":"https://mintcdn.com/spur/PGSKxMZrMj-HShvG/favicon.png?fit=max\u0026auto=format\u0026n=PGSKxMZrMj-HShvG\u0026q=85\u0026s=15b039b8d8cc786e659efff9c0636668","appearance":{"default":"light","strict":true},"background":{"image":"https://mintcdn.com/spur/9IFtS_isfyhWoPyj/background1.png?fit=max\u0026auto=format\u0026n=9IFtS_isfyhWoPyj\u0026q=85\u0026s=f63e06dee0abaa4a411dfab251c5f2e2","color":{"light":"#ffffff","dark":"#111111"}},"navbar":{"links":[{"href":"https://app.spurtest.com/signin","label":"Sign In"}],"primary":{"type":"button","label":"Book a Demo","href":"https://www.spurtest.com/book-a-demo"}},"footer":{"socials":{"x":"https://x.com/spur_dev","linkedin":"https://www.linkedin.com/company/spur-test"}},"search":{"prompt":"Search Spur docs or ask a question..."},"seo":{"metatags":{"canonical":"https://docs.spurtest.com"}},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode"],"display":"header"},"markdown":{"instructions":["Spur is an AI-powered QA engineer that lets teams create and run automated end-to-end tests for web and mobile apps using natural language.","When answering questions about Spur, cite the relevant page from docs.spurtest.com."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"spur","hasAudioNarration":false,"actualSubdomain":"spur","customDomains":["docs.spurtest.com"],"gitSource":{"type":"github","owner":"tryspur-dev","repo":"spur_docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad7dbecc135d285671f8ba8","collectionId":"53c5bb93-0d2a-40a8-8f49-926db660b2e5","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad7dbecc135d285671f8ba8"},"feedback":{"thumbs":true,"edits":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae27ab04c4a8261078c2a63","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Documentation","count":100},{"language":"default","tag":"Authoring Tests","count":43},{"language":"default","tag":"Test Side Peek","count":33},{"language":"default","tag":"Step Types","count":27},{"language":"default","tag":"Analyzing Tests","count":21},{"language":"default","tag":"Getting Started","count":11},{"language":"default","tag":"Additional Resources","count":10},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Running Tests","count":8},{"language":"default","tag":"Supported Actions","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\nbody,h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif}.preview-section{background-color:#f8f9fa;background-image:linear-gradient(135deg,rgba(255,255,255,.8) 0,rgba(240,249,245,.8) 100%),linear-gradient(rgba(130,130,130,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(130,130,130,.1) 1px,transparent 1px);background-size:auto,20px 20px,20px 20px;padding:2.5rem;border-radius:12px;margin:2rem 0;box-shadow:inset 0 0 30px rgba(0,0,0,.03),0 1px 3px rgba(0,0,0,.05)}.preview-image{width:100%;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.preview-image:hover{transform:scale(1.01)}.logo,.preview-image{transition:transform .2s ease}.logo:hover{transform:scale(1.05)}.logo img{object-fit:contain}"}],"page":{"pagePath":"running-tests/cicd/github-agent-results","slug":"/running-tests/cicd/github-agent-results","pageMetadata":{"title":"Review and Save PR Agent Tests","sidebarTitle":"Results","icon":"bookmark","description":"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.","href":"/running-tests/cicd/github-agent-results"},"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: \"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.\"\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`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Step,Steps,Table}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Check the PR Agent’s evidence before you act on a result. Save the generated tests you want to keep. Spur does not add them to your Test Library automatically.`}),`\n`,_jsx(Heading,{level:`2`,id:`read-the-report-on-github`,children:`Read the report on GitHub`}),`\n`,_jsx(_components.p,{children:`Spur posts one comment on the PR and updates it as the run progresses. The first lines show the results, the commit, the deployment, and the Spur environment. Generated tests and existing tests have separate sections. Each failure says what Spur saw. Spur groups errors by cause and says what to do next.`}),`\n`,_jsxs(_components.p,{children:[`Start with the failures and errors. Then confirm that Spur tested the commit, deployment, and environment you meant to test. To see why Spur chose each saved test, expand `,_jsx(_components.strong,{children:`Why Spur picked these tests`}),` under `,_jsx(_components.strong,{children:`Existing tests`}),`.`]}),`\n`,_jsx(Frame,{caption:`Illustration rendered from a real PR Agent run and styled for readability. The GitHub user is an example.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=b450892ea10dd9e389239f2af59ffc9b`,alt:`PR Agent report rendered from a real run, with 2 failed and 21 passed tests in generated and existing test sections and an explanation for each failure`,style:{width:`100%`,maxWidth:`720px`,height:`auto`},\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`2302`,height:`2302`,\"data-path\":`images/pr-agent/github-report-example.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?w=280\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=986cb8cec1de61364907fed95827f313 280w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?w=560\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=06e0aefe973ab45ff8c825ec68227b62 560w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?w=840\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=2f5316d8f196ec01e133c2ea6dfec368 840w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=855d9f434500852434fb6772682bd82d 1100w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=48df782b007b84877fe9ddecb77632fd 1650w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/github-report-example.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=c9992f54d99aa6772523c04ba86b65a4 2500w`})}),`\n`,_jsx(_components.p,{children:`Each test links to its result. Check the evidence before you decide what to fix.`}),`\n`,_jsx(_components.p,{children:`When saved tests already cover the change, Spur may not generate new ones.`}),`\n`,_jsx(Heading,{level:`2`,id:`open-the-evidence`,children:`Open the evidence`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Open the PR Agent run`}),`, or click a test in the comment. You need a Spur login to see the evidence.`]}),`\n`,_jsx(_components.p,{children:`The run page lists generated tests, existing tests, and any suggested edits. Select a test to see its result.`}),`\n`,_jsx(Heading,{level:`2`,id:`read-the-evidence`,children:`Read the evidence`}),`\n`,_jsx(_components.p,{children:`Check what Spur saw, the steps it ran, and any screenshots or recording. A generated test’s recording shows Spur creating and checking the test. It is not a separate replay of the saved test.`}),`\n`,_jsxs(_components.p,{children:[`For example, if the change should keep a user’s new role, the evidence should show that role after a refresh. A screenshot of the `,_jsx(_components.strong,{children:`Save`}),` click alone does not prove it.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Result`}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`Next step`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Passed`}),_jsx(_components.td,{children:`The test’s checks passed.`}),_jsx(_components.td,{children:`Review the coverage and evidence, then decide whether to merge.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Failed`}),_jsx(_components.td,{children:`The test did not confirm the expected behavior.`}),_jsx(_components.td,{children:`Inspect the evidence. Fix the product, the test expectation, or the test data, then ask Spur to check again.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Error`}),_jsx(_components.td,{children:`Spur could not finish the test. The behavior is unchecked.`}),_jsx(_components.td,{children:`Fix the problem that the comment describes, then ask Spur to check again.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stopped`}),_jsx(_components.td,{children:`Spur stopped the test before it finished, for example after a new commit or a stop request.`}),_jsx(_components.td,{children:`Ask Spur to test the PR again when you are ready.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Waiting or running`}),_jsx(_components.td,{children:`The test has no final result yet.`}),_jsx(_components.td,{children:`Follow progress in the PR comment or on the run page.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Saved login tests can appear with the existing tests. Spur runs them before the tests that need them. A login or deployment problem can stop several tests at once.`}),`\n`,_jsxs(_components.p,{children:[`After a fix, ask in your own words, for example `,_jsx(_components.code,{children:`@spur please recheck the tests that did not pass on the latest preview`}),`. On the run page, `,_jsx(_components.strong,{children:`Rerun failed tests`}),` starts the same rerun and takes an optional note. To check the whole change again, describe what you want checked. See `,_jsx(_components.a,{href:`/running-tests/cicd/github-agent#add-guidance-when-you-need-it`,children:`optional guidance`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`save-generated-tests`,children:`Save generated tests`}),`\n`,_jsx(_components.p,{children:`Save tests after the run finishes and you have reviewed it. Spur adds the tests to the Test Suite you select. Saving does not add them to a Test Plan or schedule a run.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the save dialog`,children:_jsxs(_components.p,{children:[`At the bottom of the run sidebar, click the save button. Its label shows how many tests you can save, such as `,_jsx(_components.strong,{children:`Save 6 generated tests`}),`.`]})}),_jsxs(Step,{title:`Select and review the tests`,children:[_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Save generated tests`}),`, select the tests you want to keep. Open a test to review its name, steps, URL, and settings. You can edit the open test before you save it.`]}),_jsx(_components.p,{children:`If you edit a test, save the edits before you open another test. The dialog asks before it discards unsaved edits.`})]}),_jsxs(Step,{title:`Select the destination suite`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Save to`}),` and select an existing Test Suite. To create one, click `,_jsx(_components.strong,{children:`New suite`}),`, enter its name, optionally select a folder, and click `,_jsx(_components.strong,{children:`Create suite`}),`.`]}),_jsx(Frame,{caption:`Select the destination suite under Save to.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=485ced9a5d49625fe35227335a328f97`,alt:`Save generated tests footer with the Save to suite selector and the save button`,style:{width:`100%`,maxWidth:`505px`,height:`auto`},\"data-og-width\":`1010`,width:`1010`,\"data-og-height\":`72`,height:`72`,\"data-path\":`images/pr-agent/save-generated-tests.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?w=280\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=36ed935dd120c98cdd6082c115402d46 280w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?w=560\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=dea5f97c6ac6ae5da019c60832041e00 560w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?w=840\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=fea56a901c5cf13bbe1995dfb6540b24 840w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=d957198a2a0f8b60efac26ed812520a4 1100w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=a64ca5989659daa8f7667f5621cdf7d9 1650w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-generated-tests.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=e1b5202b728a5977720e88d392369c52 2500w`})}),_jsx(Frame,{caption:`Create a suite in a folder, or select an existing suite as the destination.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=186ca8eb9297fdc3264dd3033e1fa811`,alt:`New suite form in the Save to picker with Name and folder fields`,style:{width:`100%`,maxWidth:`416px`,height:`auto`},\"data-og-width\":`832`,width:`832`,\"data-og-height\":`472`,height:`472`,\"data-path\":`images/pr-agent/save-destination.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?w=280\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=4162a94f47f0e4456e4876f100a48315 280w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?w=560\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=7dfef335f5d9ec0f31480fc87d31acb1 560w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?w=840\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=739cc703a92b705b0b174b8c3137b4ca 840w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=a75d59da3c40b08e8c9fe17eeb08b814 1100w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=395bd337887d436267d01052a419853d 1650w, https://mintcdn.com/spur/ik0kTuD3DFwA9eQf/images/pr-agent/save-destination.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ik0kTuD3DFwA9eQf\u0026q=85\u0026s=af1883824c745162e948dae66cbd776b 2500w`})}),_jsx(_components.p,{children:`Tests belong to suites. If the suite is in a folder, its tests appear in that folder. If the suite has no environment for the test’s site, select another suite or add the site to one of the suite’s environments.`})]}),_jsx(Step,{title:`Save and open the suite`,children:_jsxs(_components.p,{children:[`Click the save button, such as `,_jsx(_components.strong,{children:`Save 2 tests`}),`. In the confirmation, click `,_jsx(_components.strong,{children:`Open suite`}),` to see the saved tests. You can also find them in the `,_jsx(_components.strong,{children:`Test Library`}),`.`]})})]}),`\n`,_jsx(_components.p,{children:`You cannot save a test that has no steps. Spur saves unfinished tests as drafts. Finish them before you use them. Saving a failed test does not change its earlier result to a pass.`}),`\n`,_jsx(_components.p,{children:`If only some tests save, the dialog names the ones that failed. Check the suite before you try again, so that you do not save duplicates.`}),`\n`,_jsxs(_components.p,{children:[`Spur can pick saved tests for later PRs when they are relevant. To run a fixed set regularly, add the tests to a `,_jsx(_components.a,{href:`/managing-tests/test-plans/test-plans`,children:`Test Plan`}),` and set up its runs there.`]}),`\n`,_jsx(Heading,{level:`2`,id:`review-suggested-edits`,children:`Review suggested edits`}),`\n`,_jsx(_components.p,{children:`When a PR changes expected behavior, Spur can suggest an edit to an existing test. The saved test does not change until you edit it.`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Review in Spur`}),` in the PR comment. Read `,_jsx(_components.strong,{children:`What to change`}),`, `,_jsx(_components.strong,{children:`Why`}),`, and the current steps. Click `,_jsx(_components.strong,{children:`Edit Test`}),` to make the changes you accept, then save the test. Check the next run’s evidence to confirm that the test checks the new behavior.`]})]})}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":"Review and Save PR Agent Tests","sidebarTitle":"Results","icon":"bookmark","description":"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.","href":"/running-tests/cicd/github-agent-results"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Read the report on GitHub","slug":"read-the-report-on-github","depth":2,"children":[]},{"title":"Open the evidence","slug":"open-the-evidence","depth":2,"children":[]},{"title":"Read the evidence","slug":"read-the-evidence","depth":2,"children":[]},{"title":"Save generated tests","slug":"save-generated-tests","depth":2,"children":[]},{"title":"Review suggested edits","slug":"review-suggested-edits","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"spur","siteName":"Spur Documentation","title":"Review and Save PR Agent Tests - Spur Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T22:44:20.835Z","originalFileLocation":"running-tests/cicd/github-agent-results.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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=\"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Spur Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_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/spur/1VX6A2Hde8UwyT8H/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Review and Save PR Agent Tests - Spur Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Spur Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.spurtest.com/running-tests/cicd/github-agent-results\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://spur.mintlify.app/_mintlify/api/og/v2?division=PR+Agent\u0026amp;title=Review+and+Save+PR+Agent+Tests\u0026amp;description=Inspect+PR+Agent+results+and+browser+evidence%2C+then+save+generated+tests+to+a+suite+in+your+Test+Library.\u0026amp;theme=89a811cb4f810fbd039718cf\u0026amp;signature=43881de3aeb23a6b4ee073b9fb6d93dc99ea27922a0227d1a5348541968e7a6c\">\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=\"Review and Save PR Agent Tests - Spur Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://spur.mintlify.app/_mintlify/api/og/v2?division=PR+Agent\u0026amp;title=Review+and+Save+PR+Agent+Tests\u0026amp;description=Inspect+PR+Agent+results+and+browser+evidence%2C+then+save+generated+tests+to+a+suite+in+your+Test+Library.\u0026amp;theme=89a811cb4f810fbd039718cf\u0026amp;signature=43881de3aeb23a6b4ee073b9fb6d93dc99ea27922a0227d1a5348541968e7a6c\">\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/spur/1VX6A2Hde8UwyT8H/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Spur Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4968ec\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.spurtest.com/running-tests/cicd/github-agent-results\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/running-tests/cicd/github-agent-results.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.spurtest.com/#organization\",\"name\":\"Spur Documentation\",\"url\":\"https://docs.spurtest.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/spur/cytvGy0qHI_KqMmI/logo/logo.png?fit=max\u0026auto=format\u0026n=cytvGy0qHI_KqMmI\u0026q=85\u0026s=f931455ec7ab89b4f23bea661c49b9a0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.spurtest.com#website\",\"name\":\"Spur Documentation\",\"url\":\"https://docs.spurtest.com\",\"publisher\":{\"@id\":\"https://docs.spurtest.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results#webpage\",\"url\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results\",\"name\":\"Review and Save PR Agent Tests\",\"description\":\"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.\",\"dateModified\":\"2026-10-28T22:44:20.835Z\",\"isPartOf\":{\"@id\":\"https://docs.spurtest.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Running Tests\",\"item\":\"https://docs.spurtest.com/running-tests/run-modal/run-modal\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CI/CD\",\"item\":\"https://docs.spurtest.com/running-tests/CICD\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PR Agent\",\"item\":\"https://docs.spurtest.com/running-tests/cicd/github-agent\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Review and Save PR Agent Tests\",\"item\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results#article\",\"headline\":\"Review and Save PR Agent Tests\",\"name\":\"Review and Save PR Agent Tests\",\"description\":\"Inspect PR Agent results and browser evidence, then save generated tests to a suite in your Test Library.\",\"url\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results\",\"mainEntityOfPage\":{\"@id\":\"https://docs.spurtest.com/running-tests/cicd/github-agent-results#webpage\"},\"dateModified\":\"2026-10-28T22:44:20.835Z\",\"publisher\":{\"@id\":\"https://docs.spurtest.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.spurtest.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Spur Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Spur Documentation","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"group":"Getting Started","pages":[{"title":"Welcome to Spur!","icon":"rocket","iconType":"solid","href":"/getting-started/introduction"},{"title":"Write your first test","icon":"pencil","iconType":"solid","href":"/getting-started/first-test"},{"title":"Web Prompting Guide","icon":"browser","iconType":"solid","href":"/getting-started/web-prompting"},{"title":"Mobile Prompting Guide","icon":"mobile-screen-button","iconType":"solid","href":"/getting-started/mobile-prompting"},{"group":"Prompt Library","icon":"book","pages":[{"title":"Overview of Prompt Library","icon":"book","iconType":"solid","href":"/getting-started/prompt-library"},{"title":"High-Level Instructions","icon":"arrow-up-wide-short","iconType":"solid","href":"/getting-started/prompt-library/high-level-instructions"},{"title":"Persona Based Tests","icon":"user","iconType":"solid","href":"/getting-started/prompt-library/persona-based-tests"},{"title":"Exploratory Tests","icon":"compass","iconType":"solid","href":"/getting-started/prompt-library/exploratory-tests"},{"title":"Other Useful Prompts","icon":"lightbulb","iconType":"solid","href":"/getting-started/prompt-library/other-useful-prompts"}]},{"title":"Common Pitfalls When Writing Tests in Spur","sidebarTitle":"Common Pitfalls","icon":"file-slash","iconType":"solid","href":"/getting-started/common-pitfalls"},{"title":"Frequently Asked Questions","sidebarTitle":"FAQs","icon":"comment","iconType":"solid","href":"/getting-started/FAQ"}]},{"group":"Authoring Tests","pages":[{"group":"Test Side Peek","icon":"notes-medical","pages":[{"title":"Video to Test Generation","icon":"video","iconType":"solid","href":"/authoring-tests/test-side-peek/video-to-test"},{"title":"Script to Test Generation","icon":"scroll","iconType":"solid","href":"/authoring-tests/test-side-peek/script-to-test"},{"title":"Viewports \u0026 device settings","icon":"camera-viewfinder","href":"/authoring-tests/test-side-peek/viewports"},{"group":"Step Types","icon":"stairs","pages":[{"title":"Verification","icon":"check-double","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/verify"},{"title":"Full Page Analysis","icon":"file-magnifying-glass","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/full-page-analysis"},{"group":"Browser","icon":"browser","pages":[{"title":"Open New Tab","icon":"arrow-up-right-from-square","href":"/authoring-tests/test-side-peek/step-types/browser/open-new-tab"},{"title":"Redirect","icon":"link","href":"/authoring-tests/test-side-peek/step-types/browser/redirect"},{"title":"Refresh","icon":"arrow-rotate-right","href":"/authoring-tests/test-side-peek/step-types/browser/refresh"},{"title":"Go Back","icon":"arrow-left","href":"/authoring-tests/test-side-peek/step-types/browser/go-back"},{"title":"Close the Current Tab","icon":"xmark","href":"/authoring-tests/test-side-peek/step-types/browser/close-tab"}]},{"title":"Email","icon":"envelope","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/email/email-inbox"},{"title":"Extractions","icon":"magnet","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/extract"},{"title":"Javascript","icon":"code","href":"/authoring-tests/test-side-peek/step-types/javascript"},{"title":"Make an API Call","icon":"right-left","href":"/authoring-tests/test-side-peek/step-types/api-call"},{"title":"Log Step","icon":"scroll","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/log/log-assertions"},{"group":"Supported Actions","icon":"object-subtract","pages":[{"title":"Overview of Supported Actions","icon":"hand-pointer","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/actions-overview"},{"title":"Click","icon":"arrow-pointer","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/click"},{"title":"Hover","icon":"computer-mouse","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/hover"},{"title":"Scroll","icon":"arrows-up-down","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/scroll"},{"title":"Select","icon":"square-check","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/select"},{"title":"Wait","icon":"hourglass-half","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/wait"},{"title":"Type","icon":"keyboard","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/actions/type"}]},{"group":"Mobile Actions","icon":"mobile-screen","pages":[{"title":"Advanced Mobile Prompting","icon":"mobile-screen","href":"/authoring-tests/test-side-peek/step-types/mobile/overview"},{"title":"Activate App","icon":"window-restore","href":"/authoring-tests/test-side-peek/step-types/mobile/activate-app"},{"title":"Restart App","icon":"arrow-rotate-right","href":"/authoring-tests/test-side-peek/step-types/mobile/restart-app"},{"title":"Shake Device","icon":"mobile-screen-button","href":"/authoring-tests/test-side-peek/step-types/mobile/shake-device"},{"title":"Flip Device","icon":"rotate","href":"/authoring-tests/test-side-peek/step-types/mobile/flip"},{"title":"Expect Toast / Expect No Toast","icon":"bell","href":"/authoring-tests/test-side-peek/step-types/mobile/expect-toast"}]},{"group":"Variables","icon":"brackets-curly","pages":[{"title":"Encrypted Variables","icon":"lock","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/variables/encrypted-variables"},{"title":"Random String Generation","icon":"shuffle","iconType":"solid","href":"/authoring-tests/test-side-peek/step-types/variables/random-string-gen"}]}]},{"icon":"gear","title":"Advanced Configurations","href":"/authoring-tests/test-side-peek/advanced-configurations"},{"title":"Login States","icon":"user-check","iconType":"solid","href":"/authoring-tests/test-side-peek/login-states"},{"title":"Upload Files","icon":"upload","href":"/authoring-tests/test-side-peek/upload-files"}]},{"title":"AI Test Generation","icon":"gallery-thumbnails","href":"/authoring-tests/ai-test-generation"},{"title":"Mobile Streaming","icon":"circle-play","iconType":"solid","href":"/authoring-tests/mobile-streaming"},{"title":"Preview Editor","icon":"eye","href":"/authoring-tests/preview-editor"},{"title":"Dependencies","icon":"arrows-turn-to-dots","iconType":"solid","href":"/authoring-tests/dependencies"},{"group":"Scenarios","icon":"table","pages":[{"title":"Scenario Tables","icon":"table","href":"/authoring-tests/scenarios/scenario-tables"},{"title":"Reference scenario table properties in test steps","icon":"table","href":"/authoring-tests/scenarios/scenarios"}]},{"group":"Environments","icon":"globe","pages":[{"icon":"globe","iconType":"solid","title":"Overview of Environments","href":"/authoring-tests/environments/environments"},{"icon":"key-skeleton-left-right","title":"Properties","href":"/authoring-tests/environments/properties"},{"title":"Web Link vs Domain","icon":"link-simple","href":"/documentation/authoring-tests/environments/web-link-vs-domain"}]},{"title":"Caching Tests","icon":"floppy-disk","iconType":"solid","href":"/authoring-tests/caching-tests"}]},{"group":"Managing Tests","pages":[{"title":"Managing Overview","icon":"sitemap","iconType":"solid","href":"/managing-tests/overview"},{"title":"Test suites: group and run related tests together","icon":"layer-group","iconType":"solid","href":"/managing-tests/suite"},{"title":"Folders","icon":"folder","href":"/managing-tests/folders"},{"group":"Test Plans","icon":"list-check","pages":[{"icon":"book-open-cover","iconType":"solid","title":"Test plans: coordinate multi-suite runs","href":"/managing-tests/test-plans/test-plans"},{"title":"Create Test Plan","icon":"plus","href":"/documentation/managing-tests/test-plans/create-test-plan"}]},{"title":"Drafts","icon":"page","href":"/managing-tests/drafts"},{"title":"Snooze Tests","icon":"clock","href":"/managing-tests/snooze-tests"}]},{"group":"Running Tests","pages":[{"title":"Manual Runs","icon":"circle-play","iconType":"solid","href":"/running-tests/run-modal/run-modal"},{"title":"Run test plans on demand or on a schedule","icon":"list-check","iconType":"solid","href":"/running-tests/test-plans"},{"group":"CI/CD","icon":"infinity","pages":[{"title":"CI/CD","icon":"infinity","iconType":"solid","href":"/running-tests/CICD"},{"title":"GitHub","icon":"github","iconType":"brands","href":"/running-tests/cicd/github"},{"group":"PR Agent","icon":"robot","pages":[{"title":"PR Agent","sidebarTitle":"Overview","icon":"robot","href":"/running-tests/cicd/github-agent"},{"title":"Set Up the PR Agent","sidebarTitle":"Setup","icon":"gear","description":"Connect your repository, prepare a testable preview, and give Spur the context it needs to check your changes.","href":"/running-tests/cicd/github-agent-setup"},{"title":"Review and Save PR Agent Tests","sidebarTitle":"Results","icon":"bookmark","href":"/running-tests/cicd/github-agent-results"}]},{"title":"GitLab","icon":"gitlab","iconType":"brands","description":"Run Spur test plans automatically on every GitLab merge request and block deployments when tests fail.","href":"/running-tests/cicd/gitlab"},{"title":"Override URLs","icon":"arrow-right-arrow-left","iconType":"solid","href":"/running-tests/cicd/override-urls"}]},{"title":"Scheduled Tests","icon":"calendar-plus","iconType":"solid","href":"/running-tests/scheduler"},{"title":"Snoozing Tests","icon":"moon","iconType":"solid","href":"/running-tests/snoozing-tests/snooze-tests"}]},{"group":"Analyzing Tests","pages":[{"title":"Analysis Overview","icon":"magnifying-glass-chart","iconType":"solid","href":"/analysing-tests/analysis-overview"},{"group":"Spur MCP","icon":"/images/MCP/mcp_icon.svg","pages":[{"title":"Spur MCP Integration","icon":"https://mintlify.s3.us-west-1.amazonaws.com/spur/images/MCP/mcp_icon.svg","href":"/analysing-tests/mcp/spur-mcp"},{"title":"MCP Setup","icon":"wrench","href":"/analysing-tests/mcp/spur-mcp-setup"},{"title":"Discover and Run Tests","icon":"magnifying-glass","href":"/analysing-tests/mcp/spur-mcp-discover-tests"},{"title":"Fix Raised Bugs","icon":"bug","href":"/analysing-tests/mcp/spur-mcp-fix-bugs"},{"title":"Connecting with Other MCP Tools","icon":"plug","href":"/analysing-tests/mcp/spur-mcp-connecting-other-mcps"},{"title":"In-Sprint Test Generation","icon":"code","href":"/analysing-tests/mcp/spur-mcp-in-sprint-testing"},{"title":"Triaging Test Plan Failures with MCP","icon":"list-check","href":"/analysing-tests/mcp/spur-mcp-test-plans"}]},{"title":"Spur AI","icon":"sparkles","href":"/analysing-tests/spur-ai-chat"},{"title":"Using Spur AI Effectively","sidebarTitle":"Best Practices","icon":"message-bot","href":"/analysing-tests/spur-ai-chat-best-practices"},{"title":"Shareable Links","icon":"link","iconType":"solid","href":"/analysing-tests/shareable-links"},{"group":"Integrations","icon":"plug","pages":[{"title":"Integrations Overview","icon":"webhook","href":"/analysing-tests/integrations/integrations"},{"title":"Jira Tickets","icon":"jira","iconType":"solid","href":"/analysing-tests/integrations/jira"},{"title":"Linear Tickets","icon":"https://mintlify.s3.us-west-1.amazonaws.com/spur/images/Integrations/Linear/linear-logo.svg","href":"/analysing-tests/integrations/linear"},{"title":"Azure DevOps Work Items","icon":"https://mintlify.s3.us-west-1.amazonaws.com/spur/images/Integrations/AzureDevOps/azure-devops-logo.svg","href":"/analysing-tests/integrations/azure-devops"},{"title":"Slack Alerts","icon":"slack","iconType":"solid","href":"/analysing-tests/integrations/slack"},{"title":"Email Alerts","icon":"envelope","iconType":"solid","href":"/analysing-tests/integrations/email"},{"title":"GitHub Integration","icon":"github","iconType":"brands","href":"/analysing-tests/integrations/github"},{"title":"GitLab Integration","icon":"gitlab","iconType":"brands","href":"/analysing-tests/integrations/gitlab"}]},{"title":"Test plan review","icon":"scroll","href":"/analysing-tests/test-plan-review"},{"title":"Test Overview Page","icon":"gauge","iconType":"solid","href":"/analysing-tests/test-overview-page"},{"title":"Warning Suppression","icon":"bell-slash","iconType":"solid","href":"/analysing-tests/warning-suppression"}]},{"group":"Additional Resources","pages":[{"title":"Spur for Data Science Teams","icon":"chart-line","href":"/additional-resources/spur-for-data-science-teams"},{"title":"Network \u0026 Console Monitoring","icon":"tower-broadcast","iconType":"solid","href":"/additional-resources/network-console-monitoring"},{"title":"IP Whitelisting","icon":"shield-check","iconType":"solid","href":"/additional-resources/ip-whitelisting"},{"title":"User Roles","icon":"user-shield","iconType":"solid","href":"/additional-resources/user-roles"},{"title":"Deep Links","icon":"link","iconType":"solid","href":"/additional-resources/deep-links"},{"group":"In-Sprint Test Generation","icon":"code","pages":[{"title":"In-Sprint Test Generation","icon":"code","href":"/analysing-tests/mcp/spur-mcp-in-sprint-testing"},{"group":"PR Agent","icon":"robot","pages":[{"title":"PR Agent","sidebarTitle":"Overview","icon":"robot","href":"/running-tests/cicd/github-agent"}]}]},{"group":"SSO Providers","icon":"key","pages":[{"title":"Google SSO","href":"/additional-resources/sso-providers/google-sso"},{"title":"Azure SSO","href":"/additional-resources/sso-providers/azure-sso"}]},{"title":"Contact Us","icon":"headset","iconType":"solid","href":"/additional-resources/contact-us"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/introduction"}]},{"tab":"Press","href":"https://www.ycombinator.com/launches/LeX-spur-your-ai-qa-engineerr"},{"tab":"Community","href":"https://www.linkedin.com/company/spur-test/"}]},"title":"Review and Save PR Agent Tests - Spur Documentation","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DYplxqhs.js","DynamicMarkdown-Cc6AuSHS.js","zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js"]}