Hello,
I am trying to click on an edit button which comes with following xpath.
Since id is dynamic , I am trying to capture the object with xpath position where //tr[row_count]/td[6]/table/tbody/tr/td/input. Here i can get the row count value based on the below code.
WebDriver driver = DriverFactory.getWebDriver()
WebUI.delay(2)
WebElement Table = driver.findElement(By.xpath(‘//table[@id='approvalRoleSubviewId:approvalRoleForm:searchApprovalRoleTable']/tbody’))
WebUI.delay(2)
List rows_table = Table.findElements(By.xpath(‘//*[@id='approvalRoleSubviewId:approvalRoleForm:searchApprovalRoleTable']/tbody/tr’))
println(rows_table)
int rows_count = rows_table.size()
println(rows_count)
String xpath = (‘("//tr[’+rows_count+‘]/td[6]/table/tbody/tr/td[1]/input")’)
Now I assign this xpath to a new object as below.
TestObject to = new TestObject(“edit”)
to.addProperty(“xpath”, ConditionType.EQUALS, xpath)
WebUI.click(to)
But my click is not working, I am receiving the following error.
[02-26-2020 04:23:36 PM Test Cases/Phase2/pages/Approval Role
Elapsed time: 2m - 13.108s
Test Cases/Phase2/pages/Approval Role FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to click on object ‘edit’
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.click(ClickKeyword.groovy:102)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:43)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:72)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:616)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$click$3.call(Unknown Source)
at Approval Role.run(Approval Role:169)
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:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1582705413073.run(TempTestCase1582705413073.groovy:23)
Caused by: com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: ‘edit’ located by ‘By.xpath: (“//tr[13]/td[6]/table/tbody/tr/td[1]/input”)’ not found
at com.kms.katalon.core.webui.common.WebUiCommonHelper.findWebElement(WebUiCommonHelper.java:1154)
at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:27)
at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:26)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.doCall(ClickKeyword.groovy:67)
]
Now my webpage look like this. I am trying to click on the last row’s edit button.
can somebody please suggest me what exactly went wrong?
Regards,
Neethu