Hello everyone! Thank you for your help in my last post. Today I have another issue again, which is how to create a XPath locator with a variables
First of all, I am still practicing my testing on the Magento website with my last script, which is trying to create add other item, but I have to restructure my add one item script.
I read many forum and doc such as How to handle dynamic xpath?, Use variables in Web test objects Doc but I am still confuse… since I have tried to do the same but still error…
I use xpath as: //a[contains(text(),'{itemName}')]
This is my script:
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
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.checkpoint.Checkpoint as Checkpoint
import internal.GlobalVariable as GlobalVariable
WebUI.openBrowser('https://magento.softwaretestingboard.com/')
CustomKeywords.'com.ea.utilities.SearchItem.searchItem'('Jacket')
//CustomKeywords.'com.ea.utilities.AddItem.addItem'('Adrienne_Trek_Jacket')
TestObject itemLink = findTestObject('Object Repository/Search_Results_Page/Item_Text')
def itemName = 'Adrienne_Trek_Jacket'
WebUI.modifyObjectProperty(itemLink, 'text', itemName, 'equals', false)
WebUI.waitForElementVisible(itemLink, 5)
WebUI.click(itemLink)
WebUI.closeBrowser()
I am not sure what I am wrong, is my library not complete…?
This is my result error:
Thank you for your help.