String beforeXpath= "//div[@data-dyn-rowid='"
String afterXpath="']//input[@name='ONGSROActivityLine_Quantity']"
WebDriver driver = DriverFactory.getWebDriver()
List list = driver.findElements(By.xpath('//input[@name=\'ONGSROActivityLine_Quantity\']'))
int countList = list.size()
println(countList)
for (def i = 1; i <=countList; i++) {
List<String> actualXpath = beforeXpath+ i +afterXpath
String selectAll = Keys.chord(Keys.CONTROL, "a")
driver.findElements(By.xpath(actualXpath)).sendKeys(selectAll)
driver.findElements(By.xpath(actualXpath)).sendKeys(Keys.DELETE)
driver.findElements(By.xpath(actualXpath)).sendKeys(Keys.DELETE)
driver.findElements(By.xpath(actualXpath)).sendKeys("10")
//WebUI.sendKeys(findTestObject("//div[@data-dyn-rowid='"+i+"']//input[@name='ONGSROActivityLine_Quantity']"),Keys.chord(Keys.CONTROL, 'a'))
// WebUI.sendKeys(findTestObject("//div[@data-dyn-rowid='"+i+"']//input[@name='ONGSROActivityLine_Quantity']"),
//Keys.chord(Keys.DELETE))
// WebUI.sendKeys(findTestObject('Native Trax/Page_ONGNativeTraxCount -- Finance and Operations/input_Qty_ONGSROActivityLine_Quantity'),
// '10')
// WebUI.sendKeys(findTestObject('Native Trax/Page_ONGNativeTraxCount -- Finance and Operations/input_Qty_ONGSROActivityLine_Quantity'),
// Keys.chord(Keys.ENTER))
}
错误
原因:org.codehaus.groovy.runtime.typehandling.GroovyCastException:无法使用类'java.lang强制转换对象'// div [@ data-dyn-rowid ='1'] // input [@ name ='ONGSROActivityLine_Quantity']'。字符串'到类'java.util.List'在Native Trax.run(Native Trax:84)在com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)在com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)在com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)在com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)位于com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)在com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)在com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)在com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:169)在com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:142)在com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:91)在com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)at com.kms.katalon.core.main.TestCaseMain $ startTestSuite $ 0.call(来源不明)在TempTestSuite1573849158556.run(TempTestSuite1573849158556.groovy:36)
您正在尝试将字符串类的对象强制转换为列表类。
只需尝试一个实际的字符串作为actualXpath:
def actualXpath = beforeXpath+ i +afterXpath
代替
List<String> actualXpath = beforeXpath+ i +afterXpath