上一篇介紹了Katalon
的基礎用法,本篇繼續介紹一些進階的用法。瀏覽器
Keyword
就是自定義方法,該方法在當前項目下公共可用(固然,也能夠將文件考到別的項目中進行復用),而Method Call Statement
則更多的是用在局部定義的方法的調用上。服務器
在項目的Keywords
目錄下,建立my.test.kits
包,並建立TestUtilities.groovy
類,其代碼爲:框架
public class TestUtilities { @Keyword def CheckItemExists(TestObject obj) { return obj != null; } }
調用代碼以下:函數
WebUI.openBrowser('https://news.baidu.com') if (CustomKeywords.'my.test.kits.TestUtilities.CheckItemExists'(findTestObject('Object Repository/testKeywords/Page_/input_tn'))) { WebUI.check(findTestObject('Object Repository/testKeywords/Page_/input_tn')) WebUI.setText(findTestObject('Object Repository/testKeywords/Page_/input_word'), '新聞標題') } else { WebUI.setText(findTestObject('Object Repository/testKeywords/Page_/input_word'), 'Katalon') }
這是一種局部方法定義和調用方式,好比我須要打開百度新聞,而後登陸以後再作一些其餘操做,若是將登陸
這個操做封裝起來,代碼則大體以下:工具
WebUI.openBrowser('https://news.baidu.com/') WebUI.click(findTestObject('logintest/Page_/a_')) login('xxxxx', '123456') WebUI.click(findTestObject('logintest/Page_/input_TANGRAM__PSP_12__submit')) def login(userName, password) { WebUI.setText(findTestObject('logintest/Page_/input_userName'), userName) WebUI.setText(findTestObject('logintest/Page_/input_password'), password) }
不少時候,測試用例須要配合本地的文檔進行測試,好比須要測若干個用戶帳號,這些帳號都放在cvs或者excel文件中,又或者有可能須要測試一些產品的建立流程,產品信息也是存放在excel中。這些狀況下,若是經過在代碼裏一行行賦值的方式,就顯得太臃腫、太費時費力了。Katalon
提供了一個叫Data Files
的功能,將數據添加進來,並將字段綁定到腳本中便可實現。測試
添加數據方法以下:ui
若是如今我要用excel中全部的用戶,依次測試登陸功能,代碼以下:插件
for(def rowIdx = 0; rowIdx < findTestData('testUsers').getAllData().size(); rowIdx++) { WebUI.openBrowser('https://news.baidu.com/') WebUI.click(findTestObject('logintest/Page_/a_')) // 須要注意的是,這裏的column和row的值,都是從1開始 def userName = findTestData('testUsers').getValue(1, rowIdx + 1) def password = findTestData('testUsers').getValue(2, rowIdx + 1) login(userName, password) WebUI.click(findTestObject('logintest/Page_/input_TANGRAM__PSP_12__submit')) WebUI.closeBrowser() } def login(def userName, def password) { WebUI.setText(findTestObject('logintest/Page_/input_userName'), userName) WebUI.setText(findTestObject('logintest/Page_/input_password'), password) }
Katalon
能夠自動生成測試報告(前提是用例是經過Test Suites
或者Test Suites Collection
執行),經過執行報告能夠分析執行過程、查看異常信息等:調試
Katalon
還提供了一個Web版的分析工具,能夠很方便的將本身本地的測試結果上傳到Katalon Analytics
服務器上(傳送門),僅僅須要在Katalon Studio
裏關聯下Katalon
帳號便可:excel
Test Listeners
有點像去其餘測試框架(Nunit
/Junit
等)中像set up
/tear down
這樣的全局執行函數。
Test Listeners
提供了Before Test Case
、After Test Case
、Before Test Suite Case
和After Test Suite Case
這四個方法,看名字就知道是幹嗎的了,你能夠作一些全局的操做(好比每次開始執行用例前初始化一些數據、配置等;又或者在用例執行以後,將測試數據進行清理等工做),根據實際需求添加相應的代碼便可:
Katalon
開發團隊還提供了瀏覽器插件Katalon Recorder
,用戶能夠在瀏覽器裏錄製、調試腳本,Katalon Recorder
能夠自動生成代碼,極其方便:
經過本篇,介紹了全部Katalon
的進階用法,雖然實際使用中,Katalon Studio
仍是有不少不完美之處,可是總的來講是個很是簡單實用的工具,相信在更新的過程當中,如今的這些所謂的瑕疵將會被慢慢的修復掉。
有了這麼強大的工具,咱們就能夠在平常項目中快速地建立專屬的自動化測試用例,使咱們有能力在快速迭代的項目中,保障主流程的正確性。