# Safari: unable to upload file

**URL:** <https://forum.katalon.com/t/safari-unable-to-upload-file/49533>\
**Category:** Web Testing\
**Tags:** katalon-studio\
**Created:** [November 24, 2020, 2:41pm UTC](https://forum.katalon.com/t/safari-unable-to-upload-file/49533 "2020-11-24T14:41:54Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![VincentB](https://avatars.discourse-cdn.com/v4/letter/v/3be4f8/32.png) [@VincentB](https://forum.katalon.com/u/VincentB)\
**Post date:** [November 24, 2020, 2:41pm UTC](https://forum.katalon.com/t/safari-unable-to-upload-file/49533/1 "2020-11-24T14:41:55Z")

</div>

Hi,

I have a test case which need to upload a file.

I used this command:

> WebUI.waitForPageLoad(GlobalVariable.LOAD\_PAGE\_WAIT\_TIME)
> 
> WebUI.delay(2)  
> WebUI.uploadFile(findTestObject(‘SDMC\_encryption\_portal\_repository/Encryption\_page/input\_file\_upload’), fullFilePath)

fullFilePath variable is a String: /Users/testauto/SDMC\_Files/Clear\_files/private\_Document.pdf

And my input object is a simple:

> //input[@type=‘file’]

This test works fine on Windows with Firefox, Chrome and Edge Chromium.  
This test works fine on MacOS with Chrome and Firefox.  
But this test always failed only with Safari.  
The result on MacOS with Safari is the following:

> Reason:  
> com.kms.katalon.core.exception.StepFailedException: Call Test Case ‘Test Cases/SDMC\_encryption\_portal/Encryption/Encrypt\_file\_for\_me’ failed  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$\_callTestCase\_closure1.doCall(CallTestCaseKeyword.groovy:63)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$\_callTestCase\_closure1.call(CallTestCaseKeyword.groovy)  
> at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.callTestCase(CallTestCaseKeyword.groovy:81)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.execute(CallTestCaseKeyword.groovy:44)  
> at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:73)  
> at com.kms.katalon.core.keyword.BuiltinKeywords.callTestCase(BuiltinKeywords.groovy:334)  
> at SC\_Encrypt\_file\_for\_me.run(SC\_Encrypt\_file\_for\_me:35)  
> 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:339)  
> at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)  
> at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)  
> at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)  
> at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)  
> at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:191)  
> at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:141)  
> at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:90)  
> at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)  
> at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)  
> at TempTestSuite1606227808354.run(TempTestSuite1606227808354.groovy:39)  
> Caused by: com.kms.katalon.core.exception.StepFailedException: Call Test Case ‘Test Cases/SDMC\_encryption\_portal/Encryption/UploadFileWithForm’ failed  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$\_callTestCase\_closure1.doCall(CallTestCaseKeyword.groovy:63)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$\_callTestCase\_closure1.call(CallTestCaseKeyword.groovy)  
> at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.callTestCase(CallTestCaseKeyword.groovy:81)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.execute(CallTestCaseKeyword.groovy:44)  
> at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:73)  
> at com.kms.katalon.core.keyword.BuiltinKeywords.callTestCase(BuiltinKeywords.groovy:334)  
> at Encrypt\_file\_for\_me.run(Encrypt\_file\_for\_me:23)  
> 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:339)  
> at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)  
> at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)  
> at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)  
> at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)  
> at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$\_callTestCase\_closure1.doCall(CallTestCaseKeyword.groovy:59)  
> … 20 more  
> Caused by: com.kms.katalon.core.exception.StepFailedException: Unable to upload file ‘/Users/testauto/SDMC\_Files/Clear\_files/private\_Document.pdf’ to object ‘Object Repository/SDMC\_encryption\_portal\_repository/Encryption\_page/input\_file\_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:73)  
> at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.uploadFile(WebUiBuiltInKeywords.groovy:3402)  
> at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$uploadFile$10.call(Unknown Source)  
> at UploadFileWithForm.run(UploadFileWithForm:23)  
> 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:339)  
> at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)  
> at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)  
> at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)  
> at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)  
> at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)  
> at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$\_callTestCase\_closure1.doCall(CallTestCaseKeyword.groovy:59)  
> … 36 more  
> Caused by: org.openqa.selenium.InvalidArgumentException: One or more files could not be selected.  
> Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’  
> System info: host: ‘TA-SDMC-KSE-MACOS’, ip: ‘fe80:0:0:0:48f:dbae:5661:a950%en0’, os.name: ‘Mac OS X’, os.arch: ‘x86\_64’, os.version: ‘10.16’, java.version: ‘1.8.0\_181’  
> Driver info: com.kms.katalon.selenium.driver.CSafariDriver  
> Capabilities {acceptInsecureCerts: false, browserName: Safari, browserVersion: 14.0.1, javascriptEnabled: true, platform: MAC, platformName: MAC, safari:automaticInspection: false, safari:automaticProfiling: false, safari:diagnose: false, safari:platformBuildVersion: 20B29, safari:platformVersion: 11.0.1, safari:useSimulator: false, setWindowRect: true, strictFileInteractability: false, webkit:WebRTC: {DisableICECandidateFiltering: false, DisableInsecureMediaCapture: false}}  
> Session ID: 4844A9C5-1606-40B5-BD9E-2EA81384C4EA  
> 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.CSafariDriver.execute(CSafariDriver.java:20)  
> 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.$Proxy10.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)  
> … 51 more

Is there an issue with Safari ? Or is there a tip for upload file with Safari ?  
Thanks you for your help.

```
   Vincent

```
