Desktop applications testing with Winium in Katalon Studio
Note:
Katalon Studio primarily supports WebUI, Mobile, and API automation testing. To test desktop applications, you can use a Winium Windows Desktop app testing is temporarily unavailable in Katalon Studio 10.x. Please use version 9.x to access this feature. For more details, refer to the 10.0.0 release notes.
.jar
package as a workaround.- Download and extract the 1.6.0
Winium.Desktop.Driver.zip
file from the Winium.Desktop GitHub release page: Winium.Desktop releases. - Run
Winium.Desktop.Driver.exe
. - Download the
jar
package here: Download Winium jar package. - Go to Project > Settings > Library Management. In the External Libraries section, add the
winium-elements-desktop-0.2.0-1.jar
andwinium-webdriver-0.1.0-1.jar
. - Copy and paste the following script to Katalon Studio.The script imports the Winium driver, then open the calculator and perform the predefined tasks.
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.By as By
import org.openqa.selenium.WebElement as WebElement
import org.openqa.selenium.winium.DesktopOptions as DesktopOptions
import org.openqa.selenium.winium.WiniumDriver as WiniumDriver
import java.net.MalformedURLException as MalformedURLException
import java.net.URL as URL
WiniumDriver driver = null
String appPath = 'C:/windows/system32/calc.exe'
DesktopOptions option = new DesktopOptions()
option.setApplicationPath(appPath)
option.setDebugConnectToRunningApp(false)
option.setLaunchDelay(2)
driver = new WiniumDriver(new URL('http://localhost:9999'), option)
Thread.sleep(1000)
driver.findElement(By.name('Seven')).click()
driver.findElement(By.name('Plus')).click()
driver.findElement(By.name('Eight')).click()
driver.findElement(By.name('Equals')).click()
driver.close()