注意:
Web/Mobile测试对象属性的参数化仅在基本选择方法中可用。
在使用Katalon Studio中的测试对象时,有很多情况需要动态更新其定位器。Katalon Studio支持这个特性。请参阅本文档
你可以应用这个功能的一些用例是:
- 是否对一组类似的元素进行大量操作,例如在不定义多个测试对象的情况下检查多个复选框
- 使用本地或全局变量动态更新定位器。
示例:同时检查所有可用的复选框:
根据上面的场景,通常您需要创建4个测试对象,并调用“Check”关键字4次,以确保选中了所有4个复选框。它非常乏味,到处都是重复的代码。
这就是参数化测试对象派上用场的原因。一旦应用了这个方法,您只需要创建一个测试对象,并只调用一次' Check '关键字来循环所有这些复选框。多酷啊!
下面的步骤是如何应用这个功能:
- 创建一个测试对象,将其命名为“chk_Title”或首选名称,以显示所有标题复选框。
- 捕获第一个复选框的XPath定位器。
- 更改此XPath值以使用您选择的变量
现在来看有趣的部分:如何确定必须调整哪些属性来参数化这个对象的XPath?这个问题的答案主要基于你对网络AUT的了解。了解相似对象如何分组的模式是关键。在这种情况下,tr属性的索引值是当前web屏幕上复选框的参数化值。
- 切换到当前测试用例的脚本模式,添加下面的代码来遍历所有4个复选框:
WebUI.openBrowser('https://davidwalsh.name/demo/checkbox-all.php')
//Check on all 4 checkboxes at the same time
(2..5).each
{
WebUI.check(findTestObject('chk_Title', [('index') : it]))
}
在上面的示例代码中,使用了“each”循环。循环的方法有很多。请参阅本指南。
根据原始XPath, tr值从2开始,因此我们可以假设前面的tr值复选框是3、4和5。Katalon Studio会循环遍历所有这些。
上面是利用“参数化测试对象”这一功能强大的简单方法。您可以在测试脚本中应用其他方法来减少同时维护许多测试对象的工作量。