創(chuàng)建測(cè)試對(duì)象
1寿酌、從主菜單中依次點(diǎn)擊File > New > Test Object,此時(shí)會(huì)彈出New Test Object對(duì)話窗口。
2低千、鍵入測(cè)試對(duì)象的名字(Name),然后點(diǎn)擊OK馏颂,此時(shí)在對(duì)象庫(kù)(Object Repository)*中便可找到該新建的測(cè)試對(duì)象
添加一個(gè)對(duì)象屬性
同一個(gè)對(duì)象不能添加兩種屬性
1示血、在測(cè)試對(duì)象編輯器中(Test Object Editor),點(diǎn)擊Add命令饱亮;
2矾芙、此時(shí)會(huì)顯示新增屬性(Add property)的對(duì)話窗口;
字段 | 說明 |
---|---|
Name | 對(duì)象屬性的名稱近上,提供的下拉列表中包含了(xPath,CSS, class, id, title)或者也可以自定義提供 |
Match condition | 執(zhí)行測(cè)試時(shí)剔宪,從測(cè)試程序中搜索實(shí)際的對(duì)象的條件 |
3、新的對(duì)象屬性就會(huì)被添加進(jìn)對(duì)象列表中壹无,此時(shí)提供實(shí)際執(zhí)行自動(dòng)化程序程序中的實(shí)際對(duì)象的值葱绒。
父對(duì)象管理(Manage parent object)
現(xiàn)在越來越多的web程序把元素放進(jìn)各自的框架(iframe)中進(jìn)行操作,因此你需要為腳本遍歷當(dāng)前頁(yè)面的框架并指定要操作的框架斗锭。所以地淀,你在操作這些元素對(duì)象時(shí)需要先用Switch To Frame的關(guān)鍵字來選擇操作的框架。
Katalon提供了支持在測(cè)試對(duì)象視圖中定義父級(jí)框架(iframe)的功能岖是,因?yàn)榘锘伲阒恍枰x擇父級(jí)框架实苞,在自動(dòng)化測(cè)試的執(zhí)行中便會(huì)自動(dòng)切換到該框架上。
定位對(duì)象
Katalon提供了不同的方法去定位測(cè)試對(duì)象:
xPath
Attributes
通過Attributes的方法去定位一個(gè)對(duì)象烈疚,該方法將會(huì)自動(dòng)生成符合該屬性的對(duì)象的xPath黔牵,然后把xPath顯示在對(duì)象選擇器中。
測(cè)試對(duì)象通常會(huì)有多個(gè)屬性值爷肝,在自動(dòng)化測(cè)試執(zhí)行過程中猾浦,Katalon會(huì)依據(jù)這些屬性值來檢測(cè)對(duì)象,勾選Detect object by字段灯抛,可用于確定識(shí)別的對(duì)象的屬性金赦。
如下例子中,katalon會(huì)在測(cè)試的程序中檢測(cè)到既要滿足指定的text又要滿足xpath的對(duì)象
- CSS
在測(cè)試程序中驗(yàn)證測(cè)試對(duì)象
Katalon使用者可以通過在Web Object Spy添加測(cè)試對(duì)象來驗(yàn)證該測(cè)試對(duì)象在測(cè)試程序中是否仍能被正確檢測(cè)到对嚼。
在需要驗(yàn)證的測(cè)試對(duì)象中單擊右鍵彈出菜單夹抗,選擇Add to Web Object Spy即可。
測(cè)試對(duì)象參數(shù)化
Katalon為用戶提供了處理動(dòng)態(tài)對(duì)象的功能(有些特定的測(cè)試對(duì)象會(huì)因?yàn)槟承I(yè)務(wù)規(guī)則的問題產(chǎn)生動(dòng)態(tài)變化)猪半。支持測(cè)試對(duì)象參數(shù)化兔朦,用戶可以利用該方法動(dòng)態(tài)控制對(duì)象。下面的例子提供了最基本的使用方法:
1磨确、在手工操作視圖中打開測(cè)試用例沽甥,并雙擊要進(jìn)行屬性參數(shù)化的測(cè)試用例。
2乏奥、此時(shí)會(huì)彈出測(cè)試用例的輸入(Test Object Input)窗口摆舟。展開用例參數(shù)(Object Parameters)并聲明你要進(jìn)行動(dòng)態(tài)控制的屬性。這些屬性將會(huì)在測(cè)試執(zhí)行過程中被標(biāo)識(shí)出邓了。如下圖恨诱,Katalon在檢測(cè)到'txt_UserName'對(duì)象時(shí)會(huì)為其標(biāo)注一個(gè)值為'id'的屬性。
3骗炉、一旦聲明了這個(gè)屬性照宝,用戶可以切換到該測(cè)試用例的腳本視圖并調(diào)整檢測(cè)該測(cè)試對(duì)象的方法。(通常句葵,用戶會(huì)像變量一樣為其傳遞屬性值或者是根據(jù)其情況作為數(shù)據(jù)參考)
如下是將測(cè)試對(duì)象動(dòng)態(tài)參數(shù)化的基本語(yǔ)法
findTestObject('{your test object}', [('{property}') : '{value of property}'])
舉個(gè)例子:
- 一個(gè)動(dòng)態(tài)屬性
findTestObject('Page_Login/txtUserName', ['(id)' : '{48415648}'])
- 兩個(gè)動(dòng)態(tài)屬性
findTestObject('Page_Login/txtUserName', ['(id)' : '{48415648}', [('{name}') : '{controler14585}']])
- 使用變量作為動(dòng)態(tài)屬性的值
-
在測(cè)試用例中使用變量作為值
腳本視圖中的測(cè)試對(duì)象
在測(cè)試用例的腳本視圖中可以讓用戶根據(jù)所需對(duì)測(cè)試對(duì)象進(jìn)行編程厕鹃。如下例子是如何進(jìn)行對(duì)測(cè)試對(duì)象的定義和操作:
1、使用findTestObject()的方法來引用存在的測(cè)試對(duì)象
// Find an object which was defined already in Object Repository
myPredefinedObject = findTestObject('Page_Katalon Studio/a_Free Download')
2乍丈、使用TestObject類來創(chuàng)建一個(gè)新的測(cè)試對(duì)象
// Create a new object programmatically
myNewObject = new TestObject("TheObjectName")
3剂碴、使用addProperty()方法給對(duì)象添加屬性值
// Add property to Test Object, a property is defined by:
// property name,
// condition type,
// property value,
// a boolean value to indicate if the property will be used to identify the object during execution
myNewObject.addProperty("xpath", ConditionType.EQUALS, "http://html/body", true)
可以參考以下的一些接口說明進(jìn)行使用
類 | 方法 | 說明 |
---|---|---|
Test Object | addProperty(String name, ConditionType condition, String value) | 為測(cè)試對(duì)象添加一個(gè)屬性 |
setProperties(List properties) | 為測(cè)試對(duì)象添加屬性值 | |
getObjectId() | 獲取對(duì)象ID | |
findPropertyValue(String name, boolean caseSensitive) | 通過屬性的名字來查找一個(gè)屬性的值 |