File Upload using MAC

Hello,

I am beginner in automation. Can someone who help me regarding on the File Upload in MAC. After I click the upload button, I was stuck in the File dialog box. How can I send the file path of file and it will be uploaded? This is my script code. Thank you in advance!!

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 static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject

import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint

import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW

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.testdata.TestData as TestData

import com.kms.katalon.core.testng.keyword.TestNGBuiltinKeywords as TestNGKW

import com.kms.katalon.core.testobject.TestObject as TestObject

import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS

import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows

import internal.GlobalVariable as GlobalVariable

import org.openqa.selenium.Keys as Keys

WebUI.openBrowser(’’)

WebUI.navigateToUrl(‘STAGING URL’)

WebUI.setText(findTestObject(‘Login_Page/Page_Welcome to LEXAGLE/input_EMAIL OR USERNAME_username’), ‘testdatausername’)

WebUI.setText(findTestObject(‘Login_Page/Page_Welcome to LEXAGLE/input_Password_password’), ‘testdatapassword’)

WebUI.click(findTestObject(‘Login_Page/Page_Welcome to LEXAGLE/button_LOG IN’))

WebUI.delay(3)

WebUI.click(findTestObject(‘Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/a_NEW’))

WebUI.click(findTestObject(‘Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/div_Collaborate internallyCreate an internal room’))

WebUI.setText(findTestObject(‘Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/input_(MATTER, TOPIC)_subject’), ‘Sample Automation Katalon’)

WebUI.click(findTestObject(‘Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/label_UPLOAD’), FailureHandling.STOP_ON_FAILURE) <— this is the trigger to show the file dialog box, and I am stuck here I don’t how can I select and upload my file.

I tried to uploadFile, and I created variables for the file path and now I am getting below error.

My script code
WebUI.uploadFile(findTestObject(‘Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/label_UPLOAD’), file)

Error:
=============== ROOT CAUSE =====================

Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable

At object: ‘Object Repository/Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/label_UPLOAD’

For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/docs/troubleshooting.html

================================================

09-21-2021 05:37:47 PM Test Cases/Send and Sign Off Platform/Internal Room - Checking Kebab Menu

Elapsed time: 32.897s

Test Cases/Send and Sign Off Platform/Internal Room - Checking Kebab Menu FAILED.

Reason:

com.kms.katalon.core.exception.StepFailedException: Unable to upload file ‘//Users//ryanp.escal//Documents//JD_Mid_Software_QA (PH)T.docx’ to object ‘Object Repository/Internal Room - Doc TIle Kebab Menu/Page_Lexagle UI/label_UPLOAD’

at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)

at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)

at com.kms.katalon.core.webui.keyword.builtin.UploadFileKeyword.uploadFile(UploadFileKeyword.groovy:87)

at com.kms.katalon.core.webui.keyword.builtin.UploadFileKeyword.execute(UploadFileKeyword.groovy:68)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)

at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.uploadFile(WebUiBuiltInKeywords.groovy:4031)

at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$uploadFile$3.call(Unknown Source)

at Internal Room - Checking Kebab Menu.run(Internal Room - Checking Kebab Menu:38)

at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)

at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)

at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:430)

at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:421)

at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:400)

at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:392)

at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:273)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:133)

at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)

at TempTestCase1632217052977.run(TempTestCase1632217052977.groovy:25)

Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable

(Session info: chrome=93.0.4577.82)

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

System info: host: ‘Ryans-MacBook-Pro.local’, ip: ‘fe80:0:0:0:c67:ac50:b4d9:e412%en0’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.16’, java.version: ‘1.8.0_275’

Driver info: com.kms.katalon.selenium.driver.CChromeDriver

Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 93.0.4577.82, chrome: {chromedriverVersion: 92.0.4515.43 (8c61b7e2989f2…, userDataDir: /var/folders/5m/dtcm1fqx701…}, goog:chromeOptions: {debuggerAddress: localhost:57823}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true}

Session ID: 4160ccb437bc118e2b8b83051aa88147

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)

at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)

at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

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

at com.kms.katalon.selenium.driver.CChromeDriver.execute(CChromeDriver.java:19)

at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)

at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:106)

at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.lambda$new$0(EventFiringWebDriver.java:404)

at com.sun.proxy.$Proxy11.sendKeys(Unknown Source)

at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.sendKeys(EventFiringWebDriver.java:429)

at com.kms.katalon.core.webui.keyword.builtin.UploadFileKeyword$_uploadFile_closure1.doCall(UploadFileKeyword.groovy:80)

at com.kms.katalon.core.webui.keyword.builtin.UploadFileKeyword$_uploadFile_closure1.call(UploadFileKeyword.groovy)

at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)

… 17 more

Hello,

Update. I tried the syntax in my screenshot below and still no luck.

Hello, I already resolved the issue by using this instruction How to Resolve File Upload Issues :slight_smile: Thank you!