How to upload a file/photo using katalon studio?

M.Mortada picture M.Mortada · Jul 30, 2017 · Viewed 7.6k times · Source

I'm trying to upload file using katalon studio for automation testing (web Testing. After clicking on 'Browse' button the windows popup is opened but i can't choose photo or go to specific path. I found a command WebUI.UploadFile() but I think I'm not using it correctly.

If anyone had something like this, please share your experience. How could i do this in katalon?

Answer

Hung D. Pham picture Hung D. Pham · Aug 10, 2017

You can give this solution a try:

  1. Create the following custom keyword (https://docs.katalon.com/display/KD/Define+custom+keywords):
import java.awt.Robot 
import java.awt.Toolkit 
import java.awt.datatransfer.StringSelection 
import java.awt.event.KeyEvent

import com.kms.katalon.core.annotation.Keyword 
import com.kms.katalon.core.testobject.TestObject 
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

public class WebUICustomKeyword { 
    @Keyword 
    def uploadFile(TestObject to, String filePath) { 
        WebUI.click(to) 
        StringSelection ss = new StringSelection(filePath); 
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null); 
        Robot robot = new Robot(); 
        robot.keyPress(KeyEvent.VK_ENTER); 
        robot.keyRelease(KeyEvent.VK_ENTER); 
        robot.keyPress(KeyEvent.VK_CONTROL); 
        robot.keyPress(KeyEvent.VK_V); 
        robot.keyRelease(KeyEvent.VK_V); 
        robot.keyRelease(KeyEvent.VK_CONTROL); 
        robot.keyPress(KeyEvent.VK_ENTER); 
        robot.keyRelease(KeyEvent.VK_ENTER); 
    } 
}
  1. Replace 'Upload File' step with that custom keyword in your test case instead, e.g:
CustomKeywords.'com.katalon.WebUICustomKeyword.uploadFile'(findTestObject('BrowseButton'), 'yourFileHere')