How to get reports from GitHub action run

Hi everyone,

I am running my a Test collection on gitHub action and I get this kind of output but can’t figure out a way to have clearer info/reports. PS: I don’t have a testOp licence.




--------------------------RETRY EXECUTION INFORMATION--------------------------
Test Suite Collection 'Test collection Console':
- Test Suite 'HP Test Suite' runs with Immediately retry strategy and 0 retry time(s).
- Test Suite 'Console User Test Suite' runs with Immediately retry strategy and 0 retry time(s).
- Test Suite 'Console Profil page Test Suite' runs with Immediately retry strategy and 0 retry time(s).
- Test Suite 'Provider' runs with Immediately retry strategy and 0 retry time(s).
--------------------------------------------------------------------------------


Running: Test Suites/HP Test Suite - Chrome - 20240822_023721

Katalon TestOps: Unexpected response, URL: https://testops.katalon.io/api/v1/katalon/test-reports/update-result?projectId=1423873, Status: 400, Response: {"code":"02002","message":"Your test result quota has been exceeded. Please upgrade your plan.","stackTrace":"com.katalon.kit.exception.KaBadRequestException: Your test result quota has been exceeded. Please upgrade your plan.\n\tat com.katalon.kit.testopspackage.security.TestOpsPackageSecurityHelper.onQuotaExceed(TestOpsPackageSecurityHelper.java:31)\n\tat com.katalon.kit.testopspackage.security.TestOpsPackageSecurityHelper.checkUserCanTriggerTestExecution(TestOpsPackageSecurityHelper.java:26)\n\tat com.katalon.kit.security.service.ProjectLevelSecurityService.checkUserCanUploadReport(ProjectLevelSecurityService.java:228)\n\tat com.katalon.kit.katalon.facade.KatalonResourceFacade.updateTestRunResult(KatalonResourceFacade.java:90)\n\tat com.katalon.kit.katalon.facade.KatalonResourceFacade$$FastClassBySpringCGLIB$$767c7c0d.invoke(<generated>)\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\n\tat org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\n\tat com.katalon.kit.katalon.facade.KatalonResourceFacade$$EnhancerBySpringCGLIB$$dca1992e.updateTestRunResult(<generated>)\n\tat com.katalon.kit.katalon.controller.KatalonResourceController.updateResult(KatalonResourceController.java:103)\n\tat sun.reflect.GeneratedMethodAccessor1088.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n\tat 



....



Uploading report to Azure...

Report has been sent to Azure

Uploading report to qTest...

Report has been sent to qTest


--------------------------------------------------------------------------------
Test Suites/Test collection Console - 20240822_023717.............10/10(100%)
--------------------------------------------------------------------------------
Test Suites/HP Test Suite - Chrome - 20240822_023721...................3/3(100%)
Test Suites/Console User Test Suite - Chrome - 20240822_023724.........3/3(100%)
Test Suites/Console Profil page Test Suite - Chrome - 20240822_023727..3/3(100%)
Test Suites/Provider - Chrome - 20240822_023730........................1/1(100%)
--------------------------------------------------------------------------------


Katalon TestOps: Unexpected response, URL: https://testops.katalon.io/api/v1/katalon/test-reports/update-result?projectId=1423873, Status: 400, Response: {"code":"02002","message":"Your test result quota has been exceeded. Please upgrade your plan.","stackTrace":"com.katalon.kit.exception.KaBadRequestException: Your test result quota has been exceeded. Please upgrade your plan.\n\tat com.katalon.kit.testopspackage.security.TestOpsPackageSecurityHelper.onQuotaExceed(TestOpsPackageSecurityHelper.java:31)\n\tat com.katalon.kit.testopspackage.security.TestOpsPackageSecurityHelper.checkUserCanTriggerTestExecution(TestOpsPackageSecurityHelper.java:26)\n\tat com.katalon.kit.security.service.ProjectLevelSecurityService.checkUserCanUploadReport(ProjectLevelSecurityService.java:228)\n\tat com.katalon.kit.katalon.facade.KatalonResourceFacade.updateTestRunResult(KatalonResourceFacade.java:90)\n\tat com.katalon.kit.katalon.facade.KatalonResourceFacade$$FastClassBySpringCGLIB$$767c7c0d.invoke(<generated>)\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\n\tat org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\n\tat com.katalon.kit.katalon.facade.KatalonResourceFacade$$EnhancerBySpringCGLIB$$364bda3e.updateTestRunResult(<generated>)\n\tat com.katalon.kit.katalon.controller.KatalonResourceController.updateResult(KatalonResourceController.java:103)\n\tat sun.reflect.GeneratedMethodAccessor1104.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n\tat org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat io.sentry.spring.SentryUserFilter.doFilterInternal(SentryUserFilter.java:56)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.WhitelistIpFilter.doFilterInternal(WhitelistIpFilter.java:52)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.CurrentUserFilter.doFilterInternal(CurrentUserFilter.java:31)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\n\tat org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n\tat org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\n\tat org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n\tat org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:182)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n\tat org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n\tat org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\n\tat org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\n\tat org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\n\tat org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\n\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.Oauth2SupportFilter.doFilterInternal(Oauth2SupportFilter.java:77)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.SystemSecurityFilter.doFilterInternal(SystemSecurityFilter.java:37)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.RequestInterceptorFilter.doFilterInternal(RequestInterceptorFilter.java:74)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.web.servlet.v3_1.OpenTelemetryHandlerMappingFilter.doFilter(OpenTelemetryHandlerMappingFilter.java:83)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.SubDomainFilter.doFilterInternal(SubDomainFilter.java:52)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:71)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:289)\n\tat com.katalon.kit.mvc.filter.RequestAndResponseLoggingFilter.doFilterInternal(RequestAndResponseLoggingFilter.java:31)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.WebFilter.doFilterInternal(WebFilter.java:96)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat com.katalon.kit.mvc.filter.CleanUpFilter.doFilterInternal(CleanUpFilter.java:40)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\n\tat org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)\n\tat org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\n\tat java.lang.Thread.run(Thread.java:750)\n"}


--------------------------------------------------------------------------------
Test Suites/Test collection Console - 20240822_023717.............10/10(100%)
--------------------------------------------------------------------------------
Test Suites/HP Test Suite - Chrome - 20240822_023721...................3/3(100%)
Test Suites/Console User Test Suite - Chrome - 20240822_023724.........3/3(100%)
Test Suites/Console Profil page Test Suite - Chrome - 20240822_023727..3/3(100%)
Test Suites/Provider - Chrome - 20240822_023730........................1/1(100%)
--------------------------------------------------------------------------------


Execution completed. Exit code: 1.

Start clean up session

End check license task

End clean up session

Start release license task

License released

End release license task

All launchers terminated

Exit code: 1.
Error: Exit code 1.

Any idea how to get a better view on the test output ? here I had a test fail but can’t find which one on the “report”.

Many thanks in advance .

Hi there,

Thank you very much for your topic. Please note that it may take a little while before a member of our community or from Katalon team responds to you.

Thanks!

Hello @qa-sa,

Using reporting in Katalon Studio is quite straightforward and powerful. Here are the key steps to get you started:

  1. Enable the Basic Report Plugin:

    • Go to Katalon Store and install the Basic Report plugin if it’s not already installed. This plugin allows you to generate reports in various formats like HTML, CSV, and PDF.
  2. Configure Report Settings:

    • In Katalon Studio, navigate to Project > Settings > Report. Here, you can configure the email settings to automatically send reports after test suite execution.
  3. Generate Reports:

    • After executing your test suites, Katalon Studio will automatically generate reports. You can find these reports in the Reports folder of your project.
  4. View and Analyze Reports:

    • You can view the generated reports directly in Katalon Studio or through Katalon TestOps for more advanced analytics. Katalon TestOps provides detailed insights and allows you to manage your test activities more effectively.
  5. Customize Reports:

    • You can customize the reports by modifying the templates or using the built-in options to include screenshots, logs, and other relevant information.

You can also do a YouTube search for Katalon Studio reports.

test is tying to send reports to TestOps but license doesn’t exist

Dear @Dave_Evers ,

Many thanks for your reply, does your explanation applies with a run using CI/CD not directly on Katalon studio interface?
I am asking that because when I run my tests on Katalon studio i can have access to my reports, they are generated straight after the run but what happen with a CI/CD run via github action?

Many thanks,

Hi @dineshh ,

yeah unfortunately I don’t have testOps licence, only testcloud and Katalon studio.

Why not you buy it?

It is not up to me. And I would like to have the possibility to have proper information on my runs with the two licences I have now

@albert.vu
@Elly_Tran

@qa-sa would require input from Katalon

1 Like

@kazurayam you want my input from the gitHubAction run?:

name: Katalon Test Suite Collection
on:
  workflow_dispatch:
  schedule:
    - cron: '0 2 * * *'
jobs:
  build:
    runs-on: windows-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v4
    - name: Katalon Studio Github Action
      uses: katalon-studio/katalon-studio-github-action@v3.0
      with:
          version: '9.5.0'
          projectPath: '${{ github.workspace }}'
          args: '-noSplash -retry=0 -browserType="Chrome" -orgID=xxxxx -testcloudEnvironmentId="107" -statusDelay=15 -testSuiteCollectionPath="Test Suites/Test collection" -apiKey= ${KATALON_API_KEY }} --config -webui.autoUpdateDrivers=true'

or something else?

I think either @philipB or @xuan.tran can help with your question. However, since it is near the weekends, they may not get back to you until next Monday.

Thanks,
Albert

1 Like

Hi @albert.vu ,

It is ok if i don’t have answers before the end of the day.
@philipB @xuan.tran whenever you have time to help me out with this.

Hi @qa-sa, We run our CI/CD pipeline on Azure DevOps which includes reporting features. If your CI/CD pipeline solution doesn’t include reporting you could simplify your process by emailing your reports to each user. Not elegant but works, We did this when we were using JIRA as our CI/CD pipeline solution. As a matter of fact we continue to use this process as a backup to using Azure.

Good luck,
Dave

1 Like

You can upload any outcome from your test on GitHub Action using actions/upload-artifact.

I have ever used it in one of my project previously. But don’t ask me about it. I forgot all about it. Please read the doc and try it yourself.

@qa-sa

I wrote that the ‘upload-artifact’ will upload any outcome to somewhere.

To where the artifact will be uploaded?

To be honest, I am not sure. I experienced GitHub Action years ago, and forgot it. But I seem to remember … In the project’s page on GitHub, you would find the Actions tab. Click it. Then you will find the history of the executed actions. You want to choose one record of action you executed. In the page of a record, you would find the files uploaded and stored. Please find the following screenshot of my repository:

It seems that the old histories are silently erased.

If you retrieve the record soon after you executed it, then possibly you would find the files uploaded.

1 Like

I tried running one of my GitHub Action. I could see that a build artifact was uploaded and presented accessible in the “Actions” tab of the GitHub project.

I could find and read the HTML report generated by the “test” task of my Gradle build. Using the GitHub actions/upload-artifact you can upload any types of files/directories. You should also be able to upload the reports generated by KRE as well.

1 Like