我想通过xpath迭代动态表,但无法';不要在卡塔隆工作室里做……卡塔隆工作室里有没有专业人士? String beforeXpath=“//div[@data dyn rowid=”“ 字符串afterXpath=“”]//输入[@name='ONGSROActivityLine_数量'] WebDriver=DriverFactory.getWebDriver() List List=driver.findElements(By.xpath('//input[@name=\'ONGSROActivityLine\u Quantity\']')) int countList=list.size() println(计数表) 对于(defi=1;i

我想通过xpath迭代动态表,但无法';不要在卡塔隆工作室里做……卡塔隆工作室里有没有专业人士? String beforeXpath=“//div[@data dyn rowid=”“ 字符串afterXpath=“”]//输入[@name='ONGSROActivityLine_数量'] WebDriver=DriverFactory.getWebDriver() List List=driver.findElements(By.xpath('//input[@name=\'ONGSROActivityLine\u Quantity\']')) int countList=list.size() println(计数表) 对于(defi=1;i,web,dynamic,datatables,katalon-studio,katalon-recorder,Web,Dynamic,Datatables,Katalon Studio,Katalon Recorder,您正试图将string类的对象强制转换为list类 只需为实际路径尝试一个普通字符串: String beforeXpath= "//div[@data-dyn-rowid='" String afterXpath="']//input[@name='ONGSROActivityLine_Quantity']" WebDriver driver = DriverFactory.getWebDriver() List list = driver.findElements(By.xpath('/

您正试图将string类的对象强制转换为list类

只需为实际路径尝试一个普通字符串:

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))
}
而不是

def actualXpath = beforeXpath+ i +afterXpath
List actualXpath=beforepath+i+afterXpath

DEBUG testcase.Native Trax-1:actualXpath=beforepath+i+afterXpath调试testcase.Native Trax-2:xpath(actualXpath)).sendKeys(key.chord(CONTROL,“a”))错误c.k.katalon.core.main.TestCaseExecutor-❌ 测试用例/本机Trax失败。原因:groovy.lang.MissingMethodException:方法java.util.ArrayList.sendKeys()的签名不适用于参数类型:(java.lang.String)值:[A.]您正在将
Keys.chord(Keys.CONTROL,“a”)
作为字符串发送到
sendKeys()
方法。请注释该行,并将下一行作为
driver.findElements(By.xpath(actualXpath)(actualXpath)).sendKeys(Keys.chord(Keys.CONTROL,“a”))
。按照指导编辑代码,但仍然抛出错误。groovy.lang.MissingMethodException:没有方法签名:java.util.ArrayList.sendKeys()适用于参数类型:(java.lang.String)值:[A.] 在Native Trax.run(Native Trax:77)中,这是Katalon中的一个已知问题:。但我仍然认为它应该可以工作。您能否重新检查
列表的实际路径…
是否被注释掉?
List<String> actualXpath = beforeXpath+ i +afterXpath