我只是这个应用程序的新手,由于我不知道要搜索的确切字词/术语,因此我很难找到代码。
是否可以在此字段中添加变量?我想在本节中应用变量:
/tbody/tr[2]/td[2]/span
我计划将tr[2]
和td[2]
都随机化。
或者,如果可能的话,另一个选择会覆盖整个“选定的定位器”字段?
TIA!
答案 0 :(得分:0)
希望以下解决方案可以帮助您
在您的测试用例的测试脚本中可以如下处理:
KeywordLogger log = new KeywordLogger();
// Find test object
def toSpanDate = ObjectRepository.findTestObject("Object Repository/span_Date Follow Up Day");
// Get value of xpath property to replace row number and column number as expectation
def originalXpath = toSpanDate.findPropertyValue('xpath');
// Replace value
def newXpath = originalXpath.replace('pRowNumber', '2');
newXpath = newXpath.replace('pColumnNumber', '2');
// Update xpath property value of test object
toSpanDate = WebUI.modifyObjectProperty(toSpanDate, 'xpath', 'equals', newXpath, true);
// Get new value of xpath property to double check
def currentXpathOfSpan = toSpanDate.findPropertyValue('xpath');
log.logInfo('currentXpathOfSpan: ' + currentXpathOfSpan);
答案 1 :(得分:-1)
Here's关于在Katalon Studio中使用参数化测试对象的简短教程。
a)
但是,如果您知道如何以脚本模式编写,则可以直接在脚本中创建对象:
TestObject followUpDay = new TestObject.addProperty("xpath", ConditionType.EQUALS, "/tbody/tr[2]/td[2]/span")
导入了以下类
import com.kms.katalon.core.testobject.ConditionType
import com.kms.katalon.core.testobject.TestObject as TestObject
b)
现在,让我向您展示如何使用Groovy字符串插值将变量添加到对象中。
此代码与上面的代码等效:
String xpathToObject = "/tbody/tr[2]/td[2]/span"
TestObject followUpDay = new TestObject.addProperty("xpath", ConditionType.EQUALS, xpathToObject)
但是,如果希望添加变量(例如,用于选择行号和列号),则可以使用字符串插值来更改xpathToObject
字符串:
def rowNumber = 2
def colNumber = 2
String xpathToObject = "/tbody/tr[${rowNumber}]/td[${colNumber}]/span"
答案 2 :(得分:-1)
Name
设置为xpathToObject
,将Match condition
设置为equals
,将Value
设置为..../tbody/${variableA}/${variableB}/span
(注意:我没有写完整的xpath ,因为它很长,我无法从屏幕截图中复制和粘贴您现在可以使用以下语法调用该对象
findTestObject('{your test object}', [('{property}') : '{value of property}'])
或者,就您而言:
findTestObject('span_Date Follow Up Day', [('variableA'):'tr[2]', ('variableB'):'td[2]'])
然后您可以根据需要更改variableA
或variableB
和/或在xpath字符串的任何部分中使用参数。