How to automate SAP Business Client 6.5?

Hello Community,

I am new to Katalon Studio. Please let me know how to launch SAP Business Client 6.5 & login into it using Katalon Studio for Automation purposes further. Want to explore automation of workflows in SAP using Katalon Studio but unfortunately got struck in the first step.

Since it is not a web application, there is no URL I can give for Web Recording. So I chose Windows recording mode and did give NWBC.exe file location in ‘Application File’ textbox but however it was throwing an error - “Unable to start application, Connection refused”;

Below is the Error log:

java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: Connection refused: connect

Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’

Driver info: driver.version: WindowsDriver

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:49)

at com.kms.katalon.composer.windows.dialog.WindowsAppComposite$5.run(WindowsAppComposite.java:239)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

Caused by: org.openqa.selenium.WebDriverException: Connection refused: connect

Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’

Driver info: driver.version: WindowsDriver

at io.appium.java_client.remote.AppiumCommandExecutor.lambda$5(AppiumCommandExecutor.java:251)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:250)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)

at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)

at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)

at io.appium.java_client.windows.WindowsDriver.execute(WindowsDriver.java:1)

at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)

at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:84)

at io.appium.java_client.windows.WindowsDriver.(WindowsDriver.java:38)

at com.kms.katalon.core.windows.driver.WindowsDriverFactory.newWindowsDriver(WindowsDriverFactory.java:188)

at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:106)

at com.kms.katalon.composer.windows.spy.WindowsInspectorController.startApplication(WindowsInspectorController.java:149)

at com.kms.katalon.composer.windows.dialog.WindowsAppComposite$5$1.call(WindowsAppComposite.java:242)

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.startThreadAndWait(ProgressMonitorDialogWithThread.java:36)

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:48)

… 2 more

Caused by: java.net.ConnectException: Connection refused: connect

at okhttp3.internal.platform.Platform.connectSocket(Platform.java:129)

at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:245)

at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:165)

at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)

at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)

at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)

at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)

at okhttp3.RealCall.execute(RealCall.java:77)

at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:103)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:105)

at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:186)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)

… 17 more
Best Regards,
Ram

@ramanarayana.chebolu

First of all, please make sure your app was written in one of these technologies: Universal Windows Platform (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF), and Classic Windows (Win32).

Next, you need to install WinAppDriver and open the WinAppDriver.exe: https://docs.katalon.com/katalon-studio/docs/setup-winappdriver.html

I have installed winapp driver, however katalon is not able to switch to new window that opens up in SAP application.

Even with record and play, it does the recording but while executing it fails due to not being able to switch to window.

Hi @ramanarayana.chebolu, @abhishek.srivastava6,

To automate SAP Business Client or SAP GUI client, you will need a combination of Katalon Windows Recorder and Scripting Tracker. Please take a look at our sample project: https://github.com/duyluonganh/kat-sap-gui-sample-test. There is a tutorial video for recording actions, you should take a look at it first.