Hi ,
Test Case: Upload all types of files in Notes page.
Here I have done test case in katalon studio and it works fine in local by giving local path of files.
When I am executing these scenario using test cloud and giving path as
“\Data files\test.jpg” It failed and showing error message "File not found " . Please tell me how to give path when executing in testcloud
Hi smit,
Please try this method.
Hi, still not working
invalid argument: File not found : /katalon-agent/tmp/2023.07.20-9.53–38-grzezpqHniRg-1610345/Katalon-Studio.git//Data Files//UploadFiles//sample-1.docx
I tried with
- “//Data Files//UploadFiles//sample-1.docx”
- “/Data Files/UploadFiles/sample-1.docx”
- "\Data Files\UploadFiles\sample-1.docx
- "\Data Files\UploadFiles\sample-1.docx
Can you attach the screenshot of script for more details.
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
import com.kms.katalon.core.configuration.RunConfiguration as RunConfiguration
//WebUI.callTestCase(findTestCase(‘CMS/LoginPage/Login_All’), [:], FailureHandling.STOP_ON_FAILURE)
WebUI.waitForElementVisible(findTestObject(‘Object Repository/Page_EuroStocks - Dashboard/a_Dealers’), 5000)
WebUI.click(findTestObject(‘Object Repository/Page_EuroStocks - Dashboard/a_Dealers’))
WebUI.verifyElementText(findTestObject(‘Object Repository/Page_/h4_Bedrijven (1)’), ‘Bedrijven’)
WebUI.verifyElementPresent(findTestObject(‘Object Repository/Page_/span_Bedrijven (1)’), 5000)
WebUI.click(findTestObject(‘Object Repository/Page_/a_tuspuOVJBV’))
WebUI.waitForElementVisible(findTestObject(‘Object Repository/Page_Notities/span_Notities’), 5000)
WebUI.verifyElementPresent(findTestObject(‘Object Repository/Page_Notities/label_Notities’), 5000)
WebUI.scrollToElement(findTestObject(‘Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default’), 5000)
‘C:\Users\smitkumar\Desktop\Smit.Euro\Explore_Katalon\ES_KatalonStudio\Data Files\UploadFiles\sample-1.docx’
String filePath = RunConfiguration.getProjectDir()
WebUI.comment(filePath)
println(filePath)
WebUI.uploadFile(findTestObject(‘Object Repository/EditPage/UploadFile’), filePath+‘//Data Files//UploadFiles//sample-1.docx’)
WebUI.verifyElementPresent(findTestObject(‘Object Repository/Page_Notities/span_sample-1.xlsx’), 5000)
WebUI.click(findTestObject(‘Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default’))
WebUI.uploadFile(findTestObject(‘Page_Notities/Upload2’), filePath+‘//Data Files//UploadFiles//sample-1.jpeg’)
WebUI.click(findTestObject(‘Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default’))
WebUI.uploadFile(findTestObject(‘Page_Notities/Upload3’), filePath+‘//Data Files//UploadFiles//sample-1.pdf’)
WebUI.click(findTestObject(‘Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default’))
WebUI.uploadFile(findTestObject(‘Page_Notities/Upload4’), filePath+‘//Data Files//UploadFiles//sample-1.png’)
WebUI.click(findTestObject(‘Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default’))
WebUI.uploadFile(findTestObject(‘Page_Notities/Upload5’), filePath+‘//Data Files//UploadFiles//sample-1.xlsx’)
Yes, code is perfect, and you add these files into Katalon project dir. right.
Also, check files are committed if you are running from github or other repo.
Yes files are committed and present in github repo
Hi @smit
Copy the following to any new test case and run…
You will seen the paths in the console.
You can then use as you need to…
import java.nio.file.Path
import java.nio.file.Paths
import com.kms.katalon.core.configuration.RunConfiguration
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
//Relative Katalon 'Data Files' folder
def dataFile = 'sample-1.docx'
Path KatProjectPath = Paths.get(RunConfiguration.getProjectDir())
Path katTestFile = KatProjectPath.resolve('Data Files').resolve(dataFile)
println("KatProjectFilePath: " + KatProjectPath.toString())
println ("KatTestFile: " + katTestFile.toString())
You wrote:
def KatProjectDir = RunConfiguration.getProjectDir() + '\\Data Files\\'
Path KatProjectPath = Paths.get(KatProjectDir)
Path katTestFile = KatProjectPath.resolve('Data Files').resolve(dataFile)
Here you have 'Data Files'
twice, which must be a mistake. I think you intended to write:
Path KatProjectPath = Paths.get(RunConfiguration.getProjectDir())
Path katTestFile = KatProjectPath.resolve('Data Files').resolve(dataFile)
Yes typing error - thanks!
@smit wants a folder 'UploadFiles'
under the 'Data Files'
folder. So the sample should rather show how to expresss the path to include 'UploadFiles'
.
String dataFile = 'UploadFiles/sample-1.docx'
Path KatProjectPath = Paths.get(RunConfiguration.getProjectDir())
Path katTestFile = KatProjectPath.resolve('Data Files').resolve(dataFile)
I doubt it. Possibly @Dave_Evers also has a doubt about it.
You should make sure if the data files like 'sample-1.docx'
is really there runtime in the TestCloud environment by a simple println
statement.
import javax.nio.file.Files
import javax.nio.file.Path
import javax.nio.file.Paths
String relativePath = 'UploadFiles/sample-1.docx'
Path projectPath = Paths.get(RunConfiguration.getProjectDir())
Path katTestFile = projectPath.resolve('Data Files').resolve(relativePath)
...
println "katTestFile : ${katTestFile.toString()}"
println "Files.exists(katTestFile) : ${Files.exists(katTestFile)}"
Hi @kazurayam @Dave_Evers ,
I applied above methods but still showing “Caused by: org.openqa.selenium.InvalidArgumentException: invalid argument: File not found : /katalon-agent/tmp/2023.07.21-12.48–38-mFmx1cRagN36-1617684/Katalon-Studio.git/Data Files/sample1.docx”
I have no more idea. I would quit, sorry.
Hi,
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
import java.nio.file.Path as Path
import java.nio.file.Paths as Paths
import com.kms.katalon.core.configuration.RunConfiguration as RunConfiguration
//WebUI.callTestCase(findTestCase(‘CMS/LoginPage/Login_All’), [:], FailureHandling.STOP_ON_FAILURE)
WebUI.waitForElementVisible(findTestObject(‘Object Repository/Page_EuroStocks - Dashboard/a_Dealers’), 5)
WebUI.click(findTestObject(‘Object Repository/Page_EuroStocks - Dashboard/a_Dealers’))
WebUI.verifyElementText(findTestObject(‘Object Repository/Page_/h4_Bedrijven (1)’), ‘Bedrijven’)
WebUI.verifyElementPresent(findTestObject(‘Object Repository/Page_/span_Bedrijven (1)’), 5)
WebUI.click(findTestObject(‘Object Repository/Page_/a_tuspuOVJBV’))
WebUI.waitForElementVisible(findTestObject(‘Object Repository/Page_Notities/span_Notities’), 5)
WebUI.verifyElementPresent(findTestObject(‘Object Repository/Page_Notities/label_Notities’), 5)
WebUI.scrollToElement(findTestObject(‘Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default’), 5)
‘C:\Users\smitkumar\Desktop\Smit.Euro\Explore_Katalon\ES_KatalonStudio\Data Files\UploadFiles\sample-1.docx’
String filePath = RunConfiguration.getProjectDir()
WebUI.comment(filePath)
println(filePath)
def relativePath = ‘sample-1.docx’
Path KatProjectPath = Paths.get(RunConfiguration.getProjectDir())
Path katTestFile = KatProjectPath.resolve(‘Data Files’).resolve(relativePath)
println('KatProjectFilePath: ’ + KatProjectPath.toString())
println('KatTestFile: ’ + katTestFile.toString())
WebUI.uploadFile(findTestObject(‘Object Repository/EditPage/UploadFile’), katTestFile.toString())
=================================================================
Showing error message:
"invalid argument: File not found : /katalon-agent/tmp/2023.07.24-10.32–38-AvP6TVCER1v7-1632816/Katalon-Studio.git/Data Files/sample-1.docx "
I want to see the output by the 3 “println” statements.
Please show the whole output in the console. Please do not trim it.
Try this code…
//WebUI.callTestCase(findTestCase('CMS/LoginPage/Login_All'), [:], FailureHandling.STOP_ON_FAILURE)
WebUI.waitForElementVisible(findTestObject('Object Repository/Page_EuroStocks - Dashboard/a_Dealers'), 10)
WebUI.click(findTestObject('Object Repository/Page_EuroStocks - Dashboard/a_Dealers'))
WebUI.verifyElementText(findTestObject('Object Repository/Page_/h4_Bedrijven (1)'), 'Bedrijven')
WebUI.verifyElementPresent(findTestObject('Object Repository/Page_/span_Bedrijven (1)'), 10)
//Added this wait
WebUI.waitForElementVisible(findTestObject('Object Repository/Page_/a_tuspuOVJBV'), 10)
WebUI.click(findTestObject('Object Repository/Page_/a_tuspuOVJBV'))
WebUI.waitForElementVisible(findTestObject('Object Repository/Page_Notities/span_Notities'), 10)
WebUI.verifyElementPresent(findTestObject('Object Repository/Page_Notities/label_Notities'), 10)
WebUI.scrollToElement(findTestObject('Object Repository/Page_Notities/a_sample-1.xlsx_btn btn-default'), 10)
//comment this out
//'C:\Users\smitkumar\Desktop\Smit.Euro\Explore_Katalon\ES_KatalonStudio\Data Files\UploadFiles\sample-1.docx'
String filePath = RunConfiguration.getProjectDir()
def relativePath = 'sample-1.docx'
Path KatProjectPath = Paths.get(RunConfiguration.getProjectDir())
Path katTestFile = KatProjectPath.resolve('Data Files').resolve(relativePath)
println(filePath)
println('KatProjectFilePath: ' + KatProjectPath.toString())
println('KatTestFile: ' + katTestFile.toString())
WebUI.uploadFile(findTestObject('Object Repository/EditPage/UploadFile'), katTestFile.toString())
Also Kaz is asking for the output for these three lines:
println("Filepath: " + filePath)
println("KatProjectFilePath: " + KatProjectPath.toString())
println ("KatTestFile: " + katTestFile.toString())
The output should be something like:
Filepath: C:/Users/smitkumar/Katalon_Projects/ES_KatalonStudio
KatProjectFilePath: C:\Users\smitkumar\Katalon_Projects\ES_KatalonStudio
KatTestFile: C:\Users\smitkumar\Katalon_Projects\ES_KatalonStudio\Data Files\sample-1.docx
2023-07-25 11:54:27.007 DEBUG testcase.CMS_Companies_CS7 - 10: comment(filePath)
2023-07-25 11:54:27.015 INFO c.k.k.c.keyword.builtin.CommentKeyword - C:/Users/smitkumar/Katalon Studio/Katalon-Studio.git
2023-07-25 11:54:27.016 DEBUG testcase.CMS_Companies_CS7 - 11: relativePath = “sample-1.docx”
2023-07-25 11:54:27.016 DEBUG testcase.CMS_Companies_CS7 - 12: KatProjectPath = Paths.get(getProjectDir())
2023-07-25 11:54:27.020 DEBUG testcase.CMS_Companies_CS7 - 13: katTestFile = resolve(“Data Files”).resolve(relativePath)
2023-07-25 11:54:27.030 DEBUG testcase.CMS_Companies_CS7 - 14: println(filePath)
C:/Users/smitkumar/Katalon Studio/Katalon-Studio.git
2023-07-25 11:54:27.032 DEBUG testcase.CMS_Companies_CS7 - 15: println("KatProjectFilePath: " + KatProjectPath.toString())
KatProjectFilePath: C:\Users\smitkumar\Katalon Studio\Katalon-Studio.git
2023-07-25 11:54:27.033 DEBUG testcase.CMS_Companies_CS7 - 16: println("KatTestFile: " + katTestFile.toString())
KatTestFile: C:\Users\smitkumar\Katalon Studio\Katalon-Studio.git\Data Files\sample-1.docx