第十章:Katalon参数化测试对象

上一章我们讲了如何从Excel中获取测试数据,那么我们是否可以把Object Repository中的Test Object也放到Excel表格中去获取呢?答案当然是可以,碰巧最近领导Review John的脚本的时候提出了这个要求,今天我们就来讲讲如何参数化测试对象,并举一个参数化后的使用场景。
-------------------------------
参数化测试对象
Katalon Studio为用户提供了处理动态对象的能力(由于某些业务规则而具有某些特定属性的对象)。通过支持参数化测试对象的方法,用户可以利用此方法动态控制对象。以下示例描述了执行此操作的基本步骤:
步骤1:在“手动视图”中打开“测试用例”,然后双击要参数化其属性的对象。

参数化测试对象1
步骤2:将 显示“测试对象输入”对话框。展开“对象参数”部分,然后展开,点击Add添加参数,添加如下如所示的参数并选取存放参数的Excel文件。
Note: 要注意的是,这里我们要确定定位器的Selection Method是Basic。

参数化测试对象2
步骤3:声明参数后,可以切换到测试用例的脚本视图,并调参数等属性值。(通常,用户希望将属性值作为变量传递或根据其情况引用数据文件)。
使用动态属性查找测试对象的一般语法如下:
findTestObject('{your test object}', [('{property}') : '{value of property}'])
一个参数:
findTestObject('Page_Login/txtUserName', ['(id)' : '{48415648}'])
两个参数:
findTestObject('Page_Login/txtUserName', ['(id)' : '{48415648}', [('{name}') : '{controler14585}']])
脚本模式中的代码如下:

参数化测试对象3
测试对象中使用变量作为值:

参数化测试对象4
步骤4:我们到Test Data的Excel文件中填上对应的值,保存之后运行脚本,这时候对应的Xpath就是从Excel中取的了,为了便于大家理解这样做的目的,我们来举个例子:
测试场景:
用户在一个登陆界面,需要先输入用户名,然后输入密码,最后点击登陆按钮进行登陆。
在没有参数化测试对象前,我们的代码如下图(前两行和后两行基本重复):

参数化测试对象5
由于输入用户名和密码都是Set Text操作,只是定位元素的定位器中的xpath不同(这里我们假设是xpath,也可以是别的),参数化后我们就可以用一个for循环来代替,如下图:

参数化测试对象6
可以看到原来的代码精简了许多,更具有可读性。

 



留言