PageSourceSearch

https://docs-production-katalon.netlify.app/assets/js/8f6e6541.a9b8b2ec.js

js docs-production-katalon.netlify.app collected 2026-10-03 10:40:11 UTC 57,522 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkKatalon_Docs=self.webpackChunkKatalon_Docs||[]).push([[1512],{28453:(e,t,s)=>{s.d(t,{R:()=>d,x:()=>l});var r=s(96540);const n={},o=r.createContext(n);function d(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),r.createElement(o.Provider,{value:t},e.children)}},88823:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>d,metadata:()=>r,toc:()=>a});const r=JSON.parse('{"id":"studioassist/mcp-servers/katalons-built-in-mcp-servers","title":"Katalon built-in MCP servers","description":"This document provides descriptions on Katalon\'s built-in MCP servers.","source":"@site/docs/katalon-studio/studioassist/mcp-servers/katalons-built-in-mcp-servers.md","sourceDirName":"studioassist/mcp-servers","slug":"/studioassist/mcp-servers/katalons-built-in-mcp-servers","permalink":"/katalon-studio/studioassist/mcp-servers/katalons-built-in-mcp-servers","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedAt":1787815848000,"frontMatter":{"title":"Katalon built-in MCP servers"},"sidebar":"katalon-studio","previous":{"title":"Generate API tests with Katalon Studio\'s AI (beta)","permalink":"/katalon-studio/create-test-cases/generate-api-tests-with-ai-beta"},"next":{"title":"Connect to Katalon Studio MCP Server","permalink":"/katalon-studio/studioassist/mcp-servers/host-katalon-studio-mcp-server"}}');var n=s(74848),o=s(28453);const d={title:"Katalon built-in MCP servers"},l=void 0,i={},a=[{value:"Katalon MCP Server",id:"katalon-mcp-server",level:2},{value:"Katalon Studio MCP Server",id:"katalon-studio-mcp-server",level:2},{value:"Read and list tools",id:"read-and-list-tools",level:3},{value:"Execution tools",id:"execution-tools",level:3},{value:"Test Case tools",id:"test-case-tools",level:3},{value:"Test Suite tools",id:"test-suite-tools",level:3},{value:"Test Suite Collection tools",id:"test-suite-collection-tools",level:3},{value:"Test Object tools",id:"test-object-tools",level:3},{value:"Failure Analysis tools",id:"failure-analysis-tools",level:3},{value:"Custom Keyword tools",id:"custom-keyword-tools",level:3},{value:"BDD (Behavior-driven development) testing tools",id:"bdd-behavior-driven-development-testing-tools",level:3},{value:"Test Data tools",id:"test-data-tools",level:3},{value:"WebUI tools",id:"webui-tools",level:3},{value:"<strong>Deprecated tools</strong>",id:"deprecated-tools",level:2},{value:"Katalon True Platform MCP Server",id:"katalon-true-platform-mcp-server",level:2},{value:"Known limitations",id:"known-limitations",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"This document provides descriptions on Katalon's built-in MCP servers."}),"\n",(0,n.jsx)(t.h2,{id:"katalon-mcp-server",children:"Katalon MCP Server"}),"\n",(0,n.jsx)(t.p,{children:"The Katalon MCP Server connects AI assistants to the official Katalon documentation. It can search documentation across Katalon products and fetch documentation pages as Markdown."}),"\n",(0,n.jsx)(t.p,{children:"Katalon AI Assistant includes this 
1server by default. You can also connect to the public Katalon documentation MCP endpoint from an MCP-compatible client."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:(0,n.jsx)(t.strong,{children:"Field"})}),(0,n.jsx)(t.th,{children:(0,n.jsx)(t.strong,{children:"Value"})})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Server URL"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"https://mcp.katalon.com/mcp"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Transport type"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"HTTP"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Authentication"}),(0,n.jsx)(t.td,{children:"Not required"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"For MCP clients that support remote HTTP servers, add the Katalon documentation MCP server with the following configuration:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n  "mcpServers": {\n    "katalon-docs": {\n      "url": "https://mcp.katalon.com/mcp",\n      "type": "http"\n    }\n  }\n}\n'})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:(0,n.jsx)(t.strong,{children:"Tool"})}),(0,n.jsx)(t.th,{children:(0,n.jsx)(t.strong,{children:"Description"})})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"fetch"})}),(0,n.jsx)(t.td,{children:"Fetch and retrieve the complete Katalon documentation page content in markdown format."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"search"})}),(0,n.jsx)(t.td,{children:"A search tool for general, cross-product queries where the specific product context is unknown or irrelevant for Katalon documentation."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"search_katalon_documentation_with_filter"})}),(0,n.jsxs)(t.td,{children:["The primary and most accurate search tool for Katalon documentation, about products, features, configuration, and troubleshooting.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Use this tool by default for finding information about specific products (Studio, True Platform, Test Execution - Cloud), features, troubleshooting, or integrations."]})]})]})]}),"\n",(0,n.jsx)(t.admonition,{title:"Usage Tips",type:"tip",children:(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:'Ask a question like "What\'s new in Katalon Studio 11.1.0?" to quickly get the information you need. Katalon AI Assistant will search Katalon documentation with product-level filtering (Studio, True Platform, Test Execution - Cloud, etc.) and returns relevant document sections.'}),"\n"]})}),"\n",(0,n.jsx)(t.h2,{id:"katalon-studio-mcp-server",children:"Katalon Studio MCP Server"}),"\n",(0,n.jsx)(t.p,{children:"This server has the following tools, grouped by features:"}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["Starting from ",(0,n.jsx)(t.strong,{children:"Katalon Studio 11.2.0"}),", several Katalon Studio MCP tools are consolidated into broader ",(0,n.jsx)(t.code,{children:"write*"}),", ",(0,n.jsx)(t.code,{children:"readFile"}),", and ",(0,n.jsx)(t.code,{children:"listEntityFiles"})," tools. If you use saved prompts that reference deprecated tools, update them to use the replacement tools listed in ",(0,n.jsx)(t.a,{href:"#deprecated-tools",children:"Deprecated tools"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"read-and-list-tools",children:"Read and list tools"}),"\n",(0,n.jsxs)(t.p,{children:["These three tools answer different questions. Use ",(0,n.jsx)(t.code,{children:"listEntityFiles"})," when you know part of a ",(0,n.jsx)(t.strong,{children:"name"}),", ",(0,n.jsx)(t.code,{children:"searchProject"})," when you know part of what is ",(0,n.jsx)(t.strong,{children:"inside"})," a file, and ",(0,n.jsx)(t.code,{children:"readFile"})," once you have the path you want. A typical request runs them in that order: find it, then read it."]}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"c
1oncept-katalon__t1",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:(0,n.jsx)(t.p,{children:"Tool"})}),(0,n.jsx)("th",{children:(0,n.jsx)(t.p,{children:"Description"})}),(0,n.jsx)("th",{children:(0,n.jsx)(t.p,{children:"Example Prompt"})})]})}),(0,n.jsxs)("tbody",{className:"tbody",children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"listEntityFiles"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Lists the entities in the currently open Katalon Studio project, matching on file and entity ",(0,n.jsx)(t.strong,{children:"names"}),". Each entry includes a ",(0,n.jsx)(t.code,{children:"fileId"})," and a ",(0,n.jsx)(t.code,{children:"relativePath"}),"; test cases and test suites also include the path of their Groovy script.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"You can narrow the list by entity type, folder, and name at the same time, and results are returned in pages. Ask for a specific name whenever you can \u2014 on a large project an unfiltered list is truncated, and the response says so."]})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["List all reports for the test suite TS_RegressionTest.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),'List the test objects under Object Repository/Login whose name contains "button".']})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"readFile"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Reads a whole text file from the open project. Accepts either the entity ID as shown in the Tests Explorer, or a path relative to the project. A full path also works when it points inside the open project.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"A test case and a test suite are each stored as two files: the metadata file holds variables, tags, and data bindings, and the Groovy file holds the steps or the SetUp/TearDown hooks. Reading either one tells you where the other is. Asking for a test case by its entity ID returns the script.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Binary files cannot be read. Excel test data keeps its rows in a binary workbook, so the ",(0,n.jsx)(t.code,{children:".dat"})," descriptor is readable but the rows are not."]})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Read the report at ",(0,n.jsx)(t.code,{children:"Reports/20260327_103426/healthcare-tests - TS_RegressionTest/20260327_103426/"}),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Read the test case ",(0,n.jsx)(t.code,{children:"Test Cases/Login/TC_Login_Valid"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"searchProject"})," (11.5.0+)"]})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Searches file contents across the open project. Unlike listEntityFiles, which searches file names, use this tool to find where something is defined or used and count its references.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Search is case-insensitive and supports ",(0,n.jsx)(t.code,{children:"*"})," and ",(0,n.jsx)(t.code,{children:"?"})," wildcards or regular expressions. Each match includes its path, line number, and whether it is a declaration or usage. Credentials and masked variable values are hidden."]})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t1__entry__1 concept-katalon__t1__entry__2 concept-katalon__t1__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Search the project for calls to ",(0,n.jsx)(t.code,{children:"saveBudget()"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Which test cases use the custom keyword ",(0,n.jsx)(t.code,{children:"openAlert"}),"?",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Where is ",(0,n.jsx)(t.code,{children:"performanceOpenBrowser"})," defined?"]})})]})]})]})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["A few files are invisible to search because Katalon Studio does not manage them as project resources: ",(0,n.jsx)(t.code,{children:".csv"}),", ",(0,n.jsx)(t.code,{children:".txt"}),", ",(0,n.jsx)(t.code,{children:".log"}),", ",(0,n.jsx)(t.code,{children:".xlsx"}),", ",(0,n.jsx)(t.code,{children:".xls"}),", and ",(0,n.jsx)(t.code,{children:".png"}),". The ",(0,n.jsx)(t.strong,{children:"Search"})," dialog cannot see them either. The ",(0,n.jsx)(t.code,{children:"Libs"}),' folder is also excluded because its contents are generated. Every search result states what was searched, so a result with no matches means "not found in this scope" rather than "does not exist".']})}),"\n",(0,n.jsx)(t.h3,{id:"execution-tools",children:"Execution tools"}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Execution tools are not available in MCP server standalone mode."}),"\n"]})}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"c
1oncept-katalon__t2",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:(0,n.jsx)(t.p,{children:"Tool"})}),(0,n.jsx)("th",{children:(0,n.jsx)(t.p,{children:"Description"})}),(0,n.jsx)("th",{children:(0,n.jsx)(t.p,{children:"Example Prompt"})})]})}),(0,n.jsxs)("tbody",{className:"tbody",children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"executeTest"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Executes a Katalon test case, test suite, or test suite collection in the currently open project. Returns a ",(0,n.jsx)(t.code,{children:"testExecutionId"})," immediately and does not wait for completion."]})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Execute test suite ",(0,n.jsx)(t.code,{children:"Test Suites/Regression/TS_Login"})," on ",(0,n.jsx)(t.code,{children:"WEB_UI"})," using ",(0,n.jsx)(t.code,{children:"CHROME"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"getAvailableMobileDevices"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Lists locally connected Android devices, iOS devices, and iOS simulators available for mobile test execution."})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"List all available Android devices for mobile test execution."})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"getAvailableTestCloudEnvironments"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Lists environments and devices available in Katalon TestCloud for local Katalon Studio execution."})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Show available desktop TestCloud environments for local execution."})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"getTestExecutionResults"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Returns the execution results for a completed test execution, including child results for suites, optional failure details, and the uploaded Katalon True Platform execution result when available."})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Get the execution results and uploaded True Platform result for test execution ID ",(0,n.jsx)(t.code,{children:"12345"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"getTestExecutionStatus"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Returns the current status of one or all test executions tracked in this session, including executions triggered by ",(0,n.jsx)(t.code,{children:"executeTest"})," and those started manually via the Studio ",(0,n.jsx)(t.strong,{children:"Run"})," button."]})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Check the current status of test execution ID ",(0,n.jsx)(t.code,{children:"12345"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"stopTestExecution"})})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Stops a running test execution in the current Studio session. Because Studio runs one execution at a time, this stops all active executions."})}),(0,n.jsx)("td",{className:"entry",headers:"concept-katalon__t2__entry__1 concept-katalon__t2__entry__2 concept-katalon__t2__entry__3",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Stop the running test execution with ID ",(0,n.jsx)(t.code,{children:"12345"}),"."]})})]})]})]})}),"\n",(0,n.jsx)(t.h3,{id:"test-case-tools",children:"Test Case tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"c
1oncept-katalon__test-case-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsx)("tbody",{className:"tbody",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeTestCase"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new test case or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update test case ",(0,n.jsx)(t.code,{children:"Test Cases/Login/example_test_case"})," with a script that verifies the login page loads correctly."]})})]})})]})}),"\n",(0,n.jsx)(t.h3,{id:"test-suite-tools",children:"Test Suite tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"concept-katalon__test-suite-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsxs)("tbody",{className:"tbody",children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeTestSuite"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new test suite or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update test suite ",(0,n.jsx)(t.code,{children:"Test Suites/Regression/example_test_suite"})," to include ",(0,n.jsx)(t.code,{children:"Test Cases/Login/example_test_case"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeDynamicTestSuite"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new dynamic test suite or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update a dynamic test suite that includes all test cases tagged ",(0,n.jsx)(t.code,{children:"regression"}),"."]})})]})]})]})}),"\n",(0,n.jsx)(t.h3,{id:"test-suite-collection-tools",children:"Test Suite Collection tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"concept-katalon__test-suite-collection-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsx)("tbody",{className:"tbody",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeTestSuiteCollection"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new test suite collection or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update test suite collection ",(0,n.jsx)(t.code,{children:"Test Suites/Collections/regression_test_collection"})," to include ",(0,n.jsx)(t.code,{children:"Test Suites/Regression/example_test_suite"}),"."]})})]})})]})}),"\n",(0,n.jsx)(t.h3,{id:"test-object-tools",children:"Test Object tools"}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"WebService"})," tools currently do not support displaying HTTP body type responses."]})}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"c
1oncept-katalon__test-object-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsxs)("tbody",{className:"tbody",children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeWebTestObject"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new Web test object or updates an existing one in the Object Repository."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update a web test object ",(0,n.jsx)(t.code,{children:"Object Repository/Page_CURA/btn_MakeAppointment"})," using XPath ",(0,n.jsx)(t.code,{children:"/html/body/header/div/a"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeMobileTestObject"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new Mobile test object or updates an existing one in the Object Repository."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update a mobile test object ",(0,n.jsx)(t.code,{children:"Object Repository/Mobile/Login/btn_Login"})," using resource-id ",(0,n.jsx)(t.code,{children:"com.demo.app:id/btnLogin"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeWindowsTestObject"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new Windows test object or updates an existing one in the Object Repository."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update a Windows test object ",(0,n.jsx)(t.code,{children:"Object Repository/Desktop/btn_Submit"})," using AutomationId ",(0,n.jsx)(t.code,{children:"SubmitButton"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeRestWebServiceTestObject"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new REST Web Service test object or updates an existing one in the Object Repository."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update a REST API test object ",(0,n.jsx)(t.code,{children:"Object Repository/API/GetUserDetails"})," with GET method for endpoint ",(0,n.jsx)(t.code,{children:"/api/users/1"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeSoapWebServiceTestObject"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new SOAP Web Service test object or updates an existing one in the Object Repository."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update a SOAP web service test object ",(0,n.jsx)(t.code,{children:"Object Repository/API/GetCustomerInfo"})," using WSDL URL ",(0,n.jsx)(t.code,{children:"https://example.com/customer.wsdl"}),"."]})})]})]})]})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["When creating or updating test objects, include both a locator strategy and its full path, for example: ",(0,n.jsx)(t.code,{children:"xpath: /html/body/header/div/a"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"failure-analysis-tools",children:"Failure Analysis tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"c
1oncept-katalon__failure-analysis-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsx)("tbody",{className:"tbody",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"analyzeTestFailure"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Troubleshoot failed test executions and test report failures by analyzing the execution snapshot and logs. The report path can be given relative to the project or as a full path, so you can analyze an earlier run found with ",(0,n.jsx)(t.code,{children:"listEntityFiles"}),", not only the run that just finished.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"The execution snapshot taken when a test fails is consumed by the first analysis. Analyzing the same failure again reports that the snapshot is gone; rerun the test to produce a new one."]})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Analyze this failed result."})})]})})]})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["If a test fails, click ",(0,n.jsx)(t.strong,{children:"Troubleshoot with AI"})," to use this tool to analyze the failure's execution context. See more details at ",(0,n.jsx)(t.a,{href:"/katalon-studio/studioassist/studioassist-agent-mode#troubleshoot-a-test-failure",children:"AI Failure Troubleshoot"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"custom-keyword-tools",children:"Custom Keyword tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"concept-katalon__custom-keyword-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsxs)("tbody",{className:"tbody",children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeCustomKeyword"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new custom keyword class or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update custom keyword class ",(0,n.jsx)(t.code,{children:"Keywords/example/UserActions.groovy"})," with method ",(0,n.jsx)(t.code,{children:"def verifyLogin()"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"getCustomKeywordMethods"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Retrieves custom keyword method signatures from the current project, filtered by name and returned in pages. Use this tool to discover exact method signatures before referencing them via ",(0,n.jsx)(t.code,{children:"CustomKeywords"})," in a test script.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"It returns ",(0,n.jsx)(t.strong,{children:"signatures only"})," \u2014 never the body of a method, and never the places a keyword is called. To find where a keyword is defined or called, use ",(0,n.jsx)(t.code,{children:"searchProject"}),"."]})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Get all custom keyword method signatures in this project."})})]})]})]})}),"\n",(0,n.jsx)(t.h3,{id:"bdd-behavior-driven-development-testing-tools",children:"BDD (Behavior-driven development) testing tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"c
1oncept-katalon__bdd-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsx)("tbody",{className:"tbody",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeBddFeatureFile"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new BDD feature file or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update feature file ",(0,n.jsx)(t.code,{children:"Include/features/Login.feature"})," with a valid login scenario."]})})]})})]})}),"\n",(0,n.jsx)(t.h3,{id:"test-data-tools",children:"Test Data tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"concept-katalon__test-data-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsx)("tbody",{className:"tbody",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"writeInternalTestData"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Creates a new internal test data entity or updates an existing one in the current Katalon Studio project."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Create or update internal test data ",(0,n.jsx)(t.code,{children:"Data Files/UserCredentials"})," with username and password columns."]})})]})})]})}),"\n",(0,n.jsx)(t.h3,{id:"webui-tools",children:"WebUI tools"}),"\n",(0,n.jsx)("div",{className:"p",children:(0,n.jsxs)("table",{className:"table anchor_top_offset",id:"concept-katalon__webui-tools",style:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse",wordBreak:"break-word"},children:[(0,n.jsx)("caption",{}),(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"30%"}}),(0,n.jsx)("col",{style:{width:"40%"}})]}),(0,n.jsx)("thead",{className:"thead",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:"Tool"}),(0,n.jsx)("th",{children:"Description"}),(0,n.jsx)("th",{children:"Example Prompt"})]})}),(0,n.jsxs)("tbody",{className:"tbody",children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"getAvailableExecutionSessions"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Retrieves all browser sessions currently running and available for Web UI testing. Useful when a previous test left a browser session open via no ",(0,n.jsx)(t.code,{children:"closeBrowser()"})," call."]})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"List all running browser sessions that Katalon AI Assistant can use."})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUINavigate"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Opens a browser and navigates to the specified URL, or navigates an existing session to a new URL."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Open a Chrome browser and navigate to ",(0,n.jsx)(t.code,{children:"https://katalon-demo-cura.herokuapp.com/"}),"."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUITakePageSource"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Retrieves the HTML source of the current page. Requires an active browser session."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Get the HTML source code of the current page."})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUITakeAccessibilityTreeSnapshot"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Retrieves the accessibility tree snapshot of the current page. Requires an active browser session. Not supported on Safari."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Capture an accessibility tree snapshot of the current page."})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUISetText"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Enters text into an input element on the current page. Clears existing content before typing."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["On the current page, enter ",(0,n.jsx)(t.code,{children:"demo"})," into the Username input field."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUIClick"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Clicks an element on the current page."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Click the ",(0,n.jsx)(t.code,{children:"Login"})," button on the current page."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUICaptureWebTestObject"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:"Captures a web element and saves it to the Object Repository. Supports advanced web elements, including Shadow DOM, iframes, and Flutter Web elements."})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Capture the ",(0,n.jsx)(t.code,{children:"Make Appointment"})," button on ",(0,n.jsx)(t.code,{children:"https://katalon-demo-cura.herokuapp.com/"})," as a test object."]})})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"webUITakeScreenshot"})})}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Captures a full-page or viewport screenshot, displays it in tool output, and saves it to the project ",(0,n.jsx)(t.code,{children:"Screenshots"})," folder."]}
1)}),(0,n.jsx)("td",{className:"entry",style:{padding:8,verticalAlign:"top",wordBreak:"break-word",border:"1px solid #e5e7eb"},children:(0,n.jsxs)(t.p,{children:["Navigate to ",(0,n.jsx)(t.code,{children:"https://docs.katalon.com"})," and take a full-page screenshot."]})})]})]})]})}),"\n",(0,n.jsxs)(t.p,{children:["To see how these tools work together, refer to the following sample use case, which demonstrates generating a test case and its associated test objects, then executing them. See: ",(0,n.jsx)(t.a,{href:"https://app.arcade.software/share/APfXGe5S5kYkwXRMJODh",children:"WebUI tools sample video"}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Known limitations when working with Safari browser",type:"caution",children:(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Cannot run multiple concurrent browser sessions."}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"webUITakeAccessibilityTreeSnapshot"})," tool is not operational."]}),"\n"]})}),"\n",(0,n.jsx)(t.h2,{id:"deprecated-tools",children:(0,n.jsx)(t.strong,{children:"Deprecated tools"})}),"\n",(0,n.jsxs)(t.p,{children:["Starting from ",(0,n.jsx)(t.strong,{children:"Katalon Studio 11.2.0"}),", the following Katalon Studio MCP tools are deprecated."]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Deprecated tool"}),(0,n.jsx)(t.th,{children:"Replaced by"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createTestCase"}),", ",(0,n.jsx)(t.code,{children:"updateTestCase"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeTestCase"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getTestCaseScript"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"readFile"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"updateTestCaseScript"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeTestCase"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getTestCases"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"listEntityFiles"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createTestSuite"}),", ",(0,n.jsx)(t.code,{children:"updateTestSuite"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeTestSuite"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createDynamicTestSuite"}),", ",(0,n.jsx)(t.code,{children:"updateDynamicTestSuite"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeDynamicTestSuite"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createTestSuiteCollection"}),", ",(0,n.jsx)(t.code,{children:"updateTestSuiteCollection"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeTestSuiteCollection"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getTestSuite"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"readFile"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createWebTestObject"}),", ",(0,n.jsx)(t.code,{children:"updateWebTestObject"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeWebTestObject"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createMobileTestObject"}),", ",(0,n.jsx)(t.code,{children:"updateMobileTestObject"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeMobileTestObject"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createWindowsTestObject"}),", ",(0,n.jsx)(t.code,{children:"updateWindowsTestObject"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeWindowsTestObject"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createRestWebServiceTestObject"}),", ",(0,n.jsx)(t.code,{children:"updateRestWebServiceTestObject"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeRestWebServiceTestObject"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createSoapWebServiceTestObject"}),", ",(0,n.jsx)(t.code,{children:"updateSoapWebServiceTestObject"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeSoapWebServiceTestObject"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"getTestObjects"}),", ",(0,n.jsx)(t.code,{children:"getTestObject"})]}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"listEntityFiles"})," and ",(0,n.jsx)(t.code,{children:"readFile"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createCustomKeyword"}),", ",(0,n.jsx)(t.code,{children:"updateCustomKeyword"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeCustomKeyword"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getCustomKeyword"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"readFile"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getCustomKeywords"})}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"getCustomKeywordMethods"}),". This replacement returns method signatures instead of a class list."]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createBddFeatureFile"}),", ",(0,n.jsx)(t.code,{children:"updateBddFeatureFile"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeBddFeatureFile"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"createInternalTestData"}),", ",(0,n.jsx)(t.code,{children:"updateInternalTestData"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"writeInternalTestData"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getTestDataList"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"listEntityFiles"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"getInternalTestDataDetail
1s"})}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"readFile"})})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"katalon-true-platform-mcp-server",children:"Katalon True Platform MCP Server"}),"\n",(0,n.jsxs)(t.p,{children:["For more details on configuration and True Platform MCP tool list, refer to ",(0,n.jsx)(t.a,{href:"/katalon-platform/testops-mcp-server",children:"True Platform MCP Server"}),"."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Katalon AI Assistant uses the authentication information from the ",(0,n.jsx)(t.strong,{children:"Katalon Studio"})," login to smoothly integrate with ",(0,n.jsx)(t.strong,{children:"True Platform MCP Server"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"True Platform MCP Server"})," currently doesn't support integration for ",(0,n.jsx)(t.strong,{children:"Katalon Studio"})," accounts using offline license."]}),"\n",(0,n.jsxs)(t.li,{children:["For better results, specify the project ID in your prompts if you think ",(0,n.jsx)(t.strong,{children:"Katalon AI Assistant"})," will use ",(0,n.jsx)(t.strong,{children:"True Platform MCP Servers"}),"."]}),"\n"]})}),"\n",(0,n.jsx)(t.h2,{id:"known-limitations",children:"Known limitations"}),"\n",(0,n.jsx)(t.p,{children:"Katalon MCP servers have the following limitations:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"webUICaptureWebTestObject"})," tool:","\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"The tool is not supported on Safari."}),"\n",(0,n.jsx)(t.li,{children:"On dynamic pages, generated locators may use absolute attribute values, which can cause test failures when page content changes."}),"\n",(0,n.jsxs)(t.li,{children:["Some AI models (GPT-4.1, GPT-4.1-mini, GPT-5.1) may skip calling prerequisite context tools (",(0,n.jsx)(t.code,{children:"webUITakePageSource"}),", ",(0,n.jsx)(t.code,{children:"webUITakeAccessibilityTreeSnapshot"}),") before invoking ",(0,n.jsx)(t.code,{children:"webUICaptureWebTestObject"}),", which can reduce locator accuracy."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"webUITakeScreenshot"})," tool:","\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"If a screenshot is saved with a filename that already exists in the Screenshots folder, the existing file will be overwritten without warning."}),"\n",(0,n.jsx)(t.li,{children:"Animated elements on the page may not be captured correctly in the screenshot."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"searchProject"})," tool:","\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"The label that marks a match as a declaration or a usage is a best guess. It is dependable when you search for a method name or an entity name, and unreliable when you search for a class or type name, because every name on a declaration line looks alike. The matching line is always returned, so you can check it."}),"\n",(0,n.jsxs)(t.li,{children:["A line in a ",(0,n.jsx)(t.code,{children:".feature"})," file is never marked as a declaration. The step's implementation is Groovy code elsewhere in the project."]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.