katalon 之 Object Repository(对象库)

对象库

  Katalon Studio工作的模式是将录制过程中涉及的所有元素(对象)--比如说用户名的输入框,登录按钮,自动记录下来作为一个对象保存,同时记录的还有每个元素的定位信息。每一个步骤都会调用相应的对象。对于初学者来说,只通过录制的方法,让工具自动帮忙记录保存对象是简单易行的。

  但是,有些复杂的页面,使用Katalon Studio自动定位的功能会造成一些麻烦,回放不成功。对于有一些自动化经验的,希望能够手动输入的测试人员来说,Katalon Studio也提供了CSS或XPath模式。

  前面提到对象库的对象(元素)一定要分文件夹归类放好,以便在以后需要的时候使用。那么如何在录制时更改页面文件夹的名称和元素的名称呢?

在Test Cases-->Object Repository菜单栏下面存储着所有的元素。

 

选中你想要修改名字的文件夹或元素,右击,选择 rename 进行重命名。

 

2、在用例中添加Katalon命令

  我们在录制用例时,除了前面的操作外,往往还要添加一些类似断言的命令来验证用例是否通过。在上面的登录用例中,大家应该也注意到了,里面有一个除输入用户名、密码之外的一个步骤,那就是我在录制完之后添加的命令,用来判断登录是否成功。下面来展示如何添加Katalon命令。

 

场景:验证登录功能是否完成。

1) 启动正在测试的应用程序(URL: http://192.168.1.157:8083/#/login)

2) 输入有效的用户名、密码并点击登录按钮。

3) 验证登录是否成功

 

*小考点*

Katalon命令主要有基本操作命令(Basic action commands)、验证点(确认点)命令(validation point commands)、同步命令(synchronization commands)。

 

录制登录用例的步骤就不重复了,我们接着往下做。

在录制完用例后,我们打开手动模式页面,添加验证命令(validation commands)。当然也可以在录制对话框里添加,这个看大家喜欢。

步骤1:单击add按钮,然后在下拉列表中选择增加一个关键字。

 

步骤2:在你所选的那一行下面将出现一个默认的命令。

步骤3:我们需要点击它,将它切换到我们想要的那个命令:验证元素是否存在(Verify Element Present

这里可以直接搜索你想要的命令(假如你对命令够熟悉的话),也可以往下拉直到找到它。

我们需要根据自己的不同情况来选择这个验证点的命令,比如想要通过检查某个元素存在来判断用例是否通过就用Verify Element Present,想检查某个元素是否不存在就用Verify Element Not Present。

 

步骤4:我们需要为验证元素这个动作提供时间。在“input”那列对应的框里点击,在出现的页面里填入想要提供的时间(默认时间30秒)--在value里填入,然后单击OK按钮。

步骤5:我们要给这个验证点添加对象,即是针对哪个元素来进行验证。点击“object”列下面对应的那个框,在弹出来的页面里,选择对应的元素,点击OK。

 

 

其中“value type”里有许多类别,默认是number,暂时还不清楚其他类别如何使用。

验证点就加好啦!

脚本文件:

复制代码
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

WebUI.openBrowser('http://192.168.1.157:8083/#/login')

WebUI.setText(findTestObject('login/username'), 'admin108607')

WebUI.setText(findTestObject('login/pwd'), '161969')

WebUI.click(findTestObject('login/login'))

WebUI.verifyElementPresent(findTestObject('qiehuan caidan/1/show caidan'), 3)

WebUI.closeBrowser()
复制代码

 

前面那一串import不用管,是工具自动导入的包。

posted @ 2018-09-11 19:48  pretend_smile  阅读(1186)  评论(0)    收藏  举报