@grylion54
As you mentioned, I modified
for (def row = 1; row <= findTestData('New').getRowNumbers(); row++)
to
for (def row ; row <= findTestData('New').getRowNumbers(); row++)
like this
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 org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
"and any others you may need"
WebUI.openBrowser('')
'Stick to this page(for Download + Upload)'
WebUI.navigateToUrl('https://kusa89.jp/ss/index_comb_ss.html')
'ID'
WebUI.setText(findTestObject('Object Repository/Page_SSCSVNumatcheck/input__f_itcu'), 'hojun.lee')
'PASSWORD'
WebUI.setEncryptedText(findTestObject('Object Repository/Page_SSCSVNumatcheck/input__f_itcp'), '90Dp6xqc0oO/YegCFWVM4w==')
WebUI.sendKeys(findTestObject('Object Repository/Page_SSCSVNumatcheck/input__f_itcp'), Keys.chord(Keys.ENTER))
WebUI.click(findTestObject('Object Repository/Page_SSCSVNumatcheck/a_KICS'))
WebUI.click(findTestObject('Object Repository/Page_SSCSVNumatcheck/a_'))
WebUI.click(findTestObject('Object Repository/Page_SSCSVNumatcheck/a_PonyoPonyo on KICS V2'))
int newRow = 1
gTestIdPathWay = "C:\\Users\\hojun.lee\\Katalon Studio\\excel.xlsx"
for (def row ; row <= findTestData('New').getRowNumbers(); row++) {
WebUI.click(findTestObject('Page_SSCSVNumatcheck/input_SS_SSnum'))
WebUI.setText(findTestObject('Object Repository/Page_SSCSVNumatcheck/input_SS_SSnum'), findTestData('NEW').getValue(
'a', row))
WebUI.uploadFile(findTestObject('Object Repository/Page_SSCSVNumatcheck/input_SSCSV_csvFileSS'), findTestData('NEW').getValue(
'c', row))
WebUI.waitForAlert(5)
WebUI.uploadFile(findTestObject('uploadObject/Page_SSCSVNumatcheck/input_CSV_csvFileNP'), findTestData('NEW').getValue(
'd', row))
WebUI.waitForAlert(5)
WebUI.click(findTestObject('Object Repository/Page_SSCSVNumatcheck/input_SS_button'))
WebUI.waitForPageLoad(60)
/*①From now new page will be open*/
WebUI.switchToWindowIndex(1) //switches to 2nd window
secondUrl = WebUI.getUrl()
println("secondUrl: " + secondUrl)
WebUI.waitForAlert(5)
FileInputStream fis = new FileInputStream (gTestIdPathWay);
XSSFWorkbook workbook = new XSSFWorkbook (fis);
XSSFSheet sheet = workbook.getSheet("Sheet1");
Row excelRow = sheet.createRow(newRow );
Cell cell = excelRow.createCell(0);
cell.setCellValue(secondUrl);
FileOutputStream fos = new FileOutputStream(gTestIdPathWay);
workbook.write(fos);
fos.close();
fis.close();
newRow++
/*Turn to the First page, then loop ①~③ process */
WebUI.switchToWindowIndex(0) //switches to 2nd window
println("secondUrl: " + secondUrl)
WebUI.closeWindowIndex(1)
WebUI.waitForAlert(5)
}
but errors still remaining
2022-02-02 10:57:19.058 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2022-02-02 10:57:19.074 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/Upload2
2022-02-02 10:57:20.032 DEBUG testcase.Upload2 - 1: openBrowser("")
2022-02-02 10:57:20.435 INFO c.k.k.core.webui.driver.DriverFactory - Starting 'Chrome' driver
2 02, 2022 10:57:20 午前 org.openqa.selenium.remote.DesiredCapabilities chrome
情報: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
2022-02-02 10:57:20.503 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 milliseconds
Starting ChromeDriver 97.0.4692.36 (747e0a0f19c13ca6ee136200f5b097448ae4892f-refs/branch-heads/4692@{#607}) on port 27407
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
2 02, 2022 10:57:23 午前 org.openqa.selenium.remote.ProtocolHandshake createSession
情報: Detected dialect: W3C
2022-02-02 10:57:23.237 INFO c.k.k.core.webui.driver.DriverFactory - sessionId = 545fc378f691a68a88250ece590a937b
2022-02-02 10:57:23.259 INFO c.k.k.core.webui.driver.DriverFactory - browser = Chrome 97.0.4692.99
2022-02-02 10:57:23.259 INFO c.k.k.core.webui.driver.DriverFactory - platform = Windows 10
2022-02-02 10:57:23.260 INFO c.k.k.core.webui.driver.DriverFactory - seleniumVersion = 3.141.59
2022-02-02 10:57:23.261 INFO c.k.k.core.webui.driver.DriverFactory - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
2022-02-02 10:57:23.291 DEBUG testcase.Upload2 - 2: navigateToUrl("https://kusa89.jp/ss/index_comb_ss.html")
2022-02-02 10:57:23.688 DEBUG testcase.Upload2 - 3: setText(findTestObject("Object Repository/Page_SSCSVNumatcheck/input__f_itcu"), "hojun.lee")
2022-02-02 10:57:28.982 DEBUG testcase.Upload2 - 4: setEncryptedText(findTestObject("Object Repository/Page_SSCSVNumatcheck/input__f_itcp"), "90Dp6xqc0oO/YegCFWVM4w==")
2022-02-02 10:57:29.594 DEBUG testcase.Upload2 - 5: sendKeys(findTestObject("Object Repository/Page_SSCSVNumatcheck/input__f_itcp"), Keys.chord(ENTER))
2022-02-02 10:57:30.280 DEBUG testcase.Upload2 - 6: click(findTestObject("Object Repository/Page_SSCSVNumatcheck/a_KICS"))
2022-02-02 10:57:31.023 DEBUG testcase.Upload2 - 7: click(findTestObject("Object Repository/Page_SSCSVNumatcheck/a_"))
2022-02-02 10:57:31.741 DEBUG testcase.Upload2 - 8: click(findTestObject("Object Repository/Page_SSCSVNumatcheck/a_PonyoPonyo on KICS V2"))
2022-02-02 10:57:32.516 DEBUG testcase.Upload2 - 9: newRow = 1
2022-02-02 10:57:32.518 DEBUG testcase.Upload2 - 10: gTestIdPathWay = "C:\Users\hojun.lee\Katalon Studio\excel.xlsx"
2022-02-02 10:57:32.518 DEBUG testcase.Upload2 - 11: for ([row = <not implemented yet for class: org.codehaus.groovy.ast.expr.EmptyExpression>, row <= findTestData("New").getRowNumbers(), (row++)])
2022-02-02 10:57:33.419 DEBUG testcase.Upload2 - 1: click(findTestObject("Page_SSCSVNumatcheck/input_SS_SSnum"))
2022-02-02 10:57:33.928 DEBUG testcase.Upload2 - 2: setText(findTestObject("Object Repository/Page_SSCSVNumatcheck/input_SS_SSnum"), findTestData("NEW").getValue("a", row))
2022-02-02 10:57:34.181 ERROR c.k.katalon.core.main.TestCaseExecutor - ❌ Test Cases/Upload2 FAILED.
Reason:
groovy.lang.MissingMethodException: No signature of method: com.kms.katalon.core.testdata.reader.SheetPOI.getValue() is applicable for argument types: (java.lang.String, null) values: [a, null]
Possible solutions: getValue(java.lang.String, int), getValue(int, int), getClass(), getType()
at Upload2.run(Upload2:56)
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:442)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:433)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:412)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:404)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:281)
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 TempTestCase1643767035528.run(TempTestCase1643767035528.groovy:25)
2022-02-02 10:57:34.200 ERROR c.k.katalon.core.main.TestCaseExecutor - ❌ Test Cases/Upload2 FAILED.
Reason:
groovy.lang.MissingMethodException: No signature of method: com.kms.katalon.core.testdata.reader.SheetPOI.getValue() is applicable for argument types: (java.lang.String, null) values: [a, null]
Possible solutions: getValue(java.lang.String, int), getValue(int, int), getClass(), getType()
at Upload2.run(Upload2:56)
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:442)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:433)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:412)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:404)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:281)
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 TempTestCase1643767035528.run(TempTestCase1643767035528.groovy:25)
2022-02-02 10:57:34.218 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/Upload2