1"use strict";(self.webpackChunkKatalon_Docs=self.webpackChunkKatalon_Docs||[]).push([[9766],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var s=n(96540);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}},69854:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"debug/view-network-and-performance-data","title":"View network and performance data","description":"Test Execution - Cloud provides built-in tools to help you analyze how your application behaves during automated test runs. You can view:","source":"@site/docs/katalon-testcloud/debug/view-network-and-performance-data.md","sourceDirName":"debug","slug":"/debug/view-network-and-performance-data","permalink":"/katalon-testcloud/debug/view-network-and-performance-data","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedAt":1787300850000,"frontMatter":{"title":"View network and performance data"},"sidebar":"katalon-testcloud","previous":{"title":"View test artifacts of Test Execution - Cloud execution via TestOps","permalink":"/katalon-testcloud/debug/view-test-artifacts-of-testcloud-execution-via-testops"},"next":{"title":"Set desired capabilities for Cloud Execution environment","permalink":"/katalon-testcloud/set-desired-capabilities-for-testcloud-environment"}}');var i=n(74848),o=n(28453);const r={title:"View network and performance data"},a=void 0,l={},d=[{value:"App profiling",id:"app-profiling",level:2},{value:"View app profiling",id:"view-app-profiling",level:3},{value:"Network logs",id:"network-logs",level:2},{value:"View network log",id:"view-network-log",level:3},{value:"Troubleshooting",id:"troubleshooting",level:3}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Test Execution - Cloud provides built-in tools to help you analyze how your application behaves during automated test runs. You can view:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"App Profiling"}),": Resource usage and performance data for mobile apps."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Network Logs"}),": API calls and browser network traffic during tests."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"To access these logs, you must first enable them using desired capabilities in Katalon Studio."}),"\n",(0,i.jsx)(t.h2,{id:"app-profiling",children:"App profiling"}),"\n",(0,i.jsx)(t.p,{children:"App profiling captures a real-time snapshot of your mobile app performance during test execution. It includes CPU, memory, battery, network, disk I/O usage, as well as frame rate and startup time."}),"\n",(0,i.jsxs)(t.p,{children:["To enable the App profiling data, you need to set the ",(0,i.jsx)(t.code,{children:"enableAppProfiling"})," desired capability in Katalon Studio."]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Go to ",(0,i.jsx)(t.strong,{children:"Project Settings"})," > ",(0,i.jsx)(t.strong,{children:"Desired Capabilities"})," and select ",(0,i.jsx)(t.strong,{children:"Cloud Execution"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Add a ",(0,i.jsx)(t.code,{children:"katalon:options"})," property, set ",(0,i.jsx)(t.strong,{children:"Type"})," as ",(0,i.jsx)(t.code,{children:"Dictionary"}),", then click the ",(0,i.jsx)(t.code,{children:"..."}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["In the ",(0,i.jsx)(t.strong,{children:"Dictionary Property Builder"})," dialog, add the boolean property ",(0,i.jsx)(t.code,{children:"enableAppProfiling=true"}),". Click ",(0,i.jsx)(t.strong,{children:"OK"})," to save the settings. ",(0,i.jsx)("br",{}),"\n",(0,i.jsx)("img",{width:"600",src:"https://tw-cdn.katalon.com/katalon-testcloud/network-app-profiling/add-capability-to-view-metadata.png",alt:"Add a Katalon options property"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"view-app-profiling",children:"View app profiling"}),"\n",(0,i.jsx)(t.p,{children:"After the test completes:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Log in to ",(0,i.jsx)(t.a,{href:"https://cloud.katalon.com",children:"Test Execution - Cloud Web App"})," and go to ",(0,i.jsx)(t.strong,{children:"Execution"}),"."]}),"\n",(0,i.jsx)(t.li,{children:"Select your test run."}),"\n",(0,i.jsxs)(t.li,{children:["Click the ",(0,i.jsx)(t.strong,{children:"App Profiling"})," tab for performance metrics.","\n",(0,i.jsx)("img",{src:"https://tw-cdn.katalon.com/katalon-testcloud/network-app-profiling/App-Profiling.gif",alt:"Test Execution - Cloud app profiling"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Metric"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"CPU Performance"}),"/",(0,i.jsx)(t.strong,{children:"CPU Usage"})]}),(0,i.jsx)(t.td,{children:"Shows how quickly the CPU can retrieve and interpret instructions. It shows the average CPU utilization by computations of the app. This functionality detects CPU leaks and over-usage which lead to overheating, battery drains, crashes, and performance issues."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Memory Performance"}),"/",(0,i.jsx)(t.strong,{children:"Memory Usage"})]}),(0,i.jsx)(t.td,{children:"Determines the amount of physical memory allocated to the app\u2019s process. It allows you to track and analyze your memory footprint so you can identify potential leaks and inefficient resource usage."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"UI Responsiveness"})}),(0,i.jsx)(t.td,{children:"Allows you to quickly assess the app\u2019s health by tracking how long it takes for an app to respond to action and monitoring the delay of the app\u2019s UI responsiveness. Currently, this metric is only available for Android devices."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Disk Usage"})}),(0,i.jsx)(t.td,{children:"Provides insights into how much disk space is being used by both the system and the application during a session."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Network Usage"})}),(0,i.jsx)(t.td,{children:"Provides insights into how your app uses network resources, helping you optimize data transfer and ensure efficient performance."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Temperature"})}),(0,i.jsx)(t.td,{children:"Allows you to monitor battery temperature during app usage, identify features causing excessive heat generation and reduce the risk of device overheating."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Battery Consumed"})}),(0,i.jsx)(t.td,{children:"Monitors how your app impacts battery drain, allows you to identify features that are energy hogs, and optimize them."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Frames per second (FPS)"})}),(0,i.jsx)(t.td,{children:"Real-time measurement of rendering performance throughout the session."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Frame Issues"})}),(0,i.jsxs)(t.td,{children:["Visualizes rendering performance of: ",(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{children:"Jank Frames: Frames taking excessive time to render, causing visual stuttering"}),(0,i.jsx)("li",{children:"Frozen Frames: Completely dropped frames that cause noticeable pauses"})]})]})]})]})]}),"\n",(0,i.jsx)(t.h2,{id:"network-logs",children:"Network logs"}),"\n",(0,i.jsx)(t.p,{children:"A network log provides detailed browser performance data, including real-time record of all API calls, network requests, and responses exchanged between the application under test (web, mobile, API) and its backend services during an automated test run. It includes request/response headers, bodies, status codes, and timings in the HAR format."}),"\n",(0,i.jsxs)(t.p,{children:["To enable the Network data, you need to set the ",(0,i.jsx)(t.code,{children:"enableNetwork"})," desired capability in Katalon Studio."]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Go to ",(0,i.jsx)(t.strong,{children:"Project Settings"})," > ",(0,i.jsx)(t.strong,{children:"Desired Capabilities"})," and select ",(0,i.jsx)(t.strong,{children:"Cloud Execution"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Add a ",(0,i.jsx)(t.code,{children:"katalon:options"})," property, set ",(0,i.jsx)(t.strong,{children:"Type"})," as ",(0,i.jsx)(t.code,{children:"Dictionary"}),", then click the ",(0,i.jsx)(t.code,{children:"..."}),".","\n",(0,i.jsx)("img",{width:"600",src:"https://tw-cdn.katalon.com/katalon-testcloud/add-capability-to-view-metadata-cloud-execution.png",alt:"Add a Katalon options property"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["In the ",(0,i.jsx)(t.strong,{children:"Dictionary Property Builder"})," dialog, add the boolean property ",(0,i.jsx)(t.code,{children:"enableNetwork=true"}),". Then click ",(0,i.jsx)(t.strong,{children:"OK"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"view-network-log",children:"View network log"}),"\n",(0,i.jsx)(t.p,{children:"You can access network logs from the Test Execution - Cloud Execution monitoring view."}),"\n",(0,i.jsxs)(t.p,{children:["After the test completes, log in to ",(0,i.jsx)(t.a,{href:"https://cloud.katalon.com",children:"Test Execution - Cloud Web App"})," and go to ",(0,i.jsx)(t.strong,{children:"Execution"}),". Select your test run and click the ",(0,i.jsx)(t.strong,{children:"Network"})," tab to explore captured requests and responses."]}),"\n",(0,i.jsx)("img",{src:"https://tw-cdn.katalon.com/katalon-testcloud/network-app-profiling/testcloud-network-insight.gif",alt:"Test Execution - Cloud network logs"}),"\n",(0,i.jsx)("br",{}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Use quick filter buttons to
1narrow down the list by request type: JS, CSS, IMG, MEDIA, DOC."}),"\n",(0,i.jsxs)(t.li,{children:["Toggle the ",(0,i.jsx)(t.strong,{children:"Errors Only"})," switch to view failed requests, making it easier to detect problems."]}),"\n",(0,i.jsxs)(t.li,{children:["Click ",(0,i.jsx)(t.strong,{children:"Download HAR"})," to export the entire network traffic in HAR format. This is useful for debugging in external tools like Chrome DevTools or HAR viewers."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,i.jsxs)(t.p,{children:["When enabling ",(0,i.jsx)(t.code,{children:"enableNetwork: true"}),", traffic is sent through a proxy to capture it. This proxy might be blocked by high-security services that use SSL/Certificate Pinning, such as Firebase Cloud Messaging (FCM), Google Sign-In, or many banking APIs."]}),"\n",(0,i.jsx)(t.p,{children:"Your app may fail to retrieve an FCM token, crash on login, or have other secure connections fail."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Solution"}),": If your test relies on these services, you must run it without this capability or set it to ",(0,i.jsx)(t.code,{children:"enableNetwork: false"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.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.