Skip to main content

Desktop applications testing with Winium in Katalon Studio

important

Starting in version 10.3.0, Desktop app testing is available again as a beta feature with a new built-in driver (no installation required).

Windows Desktop app testing remains to be temporarily unavailable in Katalon Studio 10.0.0 to 10.2.x due to compatibility issues with WinAppDriver.

  1. Download and extract the 1.6.0 Winium.Desktop.Driver.zip file from the Winium.Desktop GitHub release page: Winium.Desktop releases.
  2. Run Winium.Desktop.Driver.exe.
  3. Download the jar package here: Download Winium jar package.
  4. Go to Project > Settings > Library Management. In the External Libraries section, add the winium-elements-desktop-0.2.0-1.jar and winium-webdriver-0.1.0-1.jar.
  5. 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()
    
Was this page helpful?