在对象存储库中维护TestObject在脚本-Katalon Studio中动态创建TestObjects



最初,当我使用Katalon Studio启动Web自动化时,我正在捕获对象,将它们存储在对象存储库中,然后在我的脚本中使用它们。这有点麻烦了,现在我将id标签放在所有最有可能在我的Web应用中使用的网络元素上,并且只要我需要使用此CustomKeyword,就可以在脚本中创建对象:

/**
 *
 * @param buttonID
 * @return TestObject representing the newly created control
 */
@Keyword
public TestObject createControl(String controlID){
    TestObject newControl = new TestObject()
    WebUI.modifyObjectProperty(newControl, 'id', 'equals', controlID, true)
    return newControl
}

即使这有效,我也想知道在对象存储库中没有任何对象是一个好主意。维护对象存储库是很多工作,这就是为什么我转向这种做事的方法,但是我对 katalon Studio >知道这是否是个好主意。我在官方的Katalon文档中找不到有关此信息的任何信息,所以我想我在这里问。

我也使用您的方法。我通常使用一行来创建一个对象:

TestObject myObject = new TestObject().addProperty('css', ConditionType.EQUALS, 'css selector')

对象存储库的扩展不是很好。而且很难维护。

在卡塔隆论坛上进行了有趣的讨论(在这里,尤其是在这里,但还有更多有趣的讨论值得研究)。

我能想到的是,如果您使用的是页面对象模型,则应将控件与测试本身分开。解决方案是将选择器(ID,名称,CSS,XPATH或其他)保存在单独的文件中(例如Excel表)。

这取决于您的目的和技能。保存对象存储库将帮助用户对对象的存储方式进行视觉视图。它还有助于存储多个属性,这些属性可以单击或单击。这些属性可以通过间谍或记录工具生成。如果您知道编程,您的编码方法也有效。但是,您必须自己决定定位器。如果所选的定位器不再起作用,则必须创建另一个。在对象存储库中,如果ID更改,则测试器案例选择类和其他属性

最新更新