我想通过xpath迭代动态表,但是不能在katalon studio中实现它……在Katalon Studio中有任何专业知识吗?

问题描述 投票:0回答:1
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)

web dynamic datatables katalon-studio katalon-recorder
1个回答
0
投票

您正在尝试将字符串类的对象强制转换为列表类。

只需尝试一个实际的字符串作为actualXpath:

def actualXpath = beforeXpath+ i +afterXpath

代替

List<String> actualXpath = beforeXpath+ i +afterXpath
© www.soinside.com 2019 - 2024. All rights reserved.