在一個Test Case里,點左上Add-Web UI Keyword,可以添加一行新的命令。 
像Click、setText、Delay這些最基本的,大家還是看看官方的API文檔吧,望文知義,如果是純新手,可以先學學selenium的API,有網站也有書,都是中文的。
介紹幾個寫用例時,邏輯中會用到的幾個Keyword:
1.Wait For系列與Delay:
Delay適用於定長時間的等待,比如點擊添加按鈕,立馬彈出添加窗口,不需要與后端交互,也不用運行復雜的JS;
Wait For系列適用不定長時間的等待(后台有請求或前端有JS運行),比如當網頁中按鈕A顯示了,才去點擊;比如點了保存按鈕,后台要執行一會,結果出現‘成功’字樣,才繼續下一步等。但實際使用中,有可能已經wait到了元素,但因為還頁面還未加載完導致不可點擊或不可交互,這時可以配合Delay一同使用。
具體的方法如圖:

2.Verify系列:驗證條件是否滿足,返回True或False;具體的方法如圖

我們從API描述中可以看到,每個Verify都有最后一個可選參數flowControl,可以設置命令返回false時是否報錯,例子:WebUI.waitForElementClickable(findTestObject('input__wd'), 0, FailureHandling.CONTINUE_ON_FAILURE)
flowControl共有3個選項

我們也可以通過可視化操作來設置

如果不想每條都設置,也可以在Project Setting中設置所有命令的flowControl,參考Katalon系列三有寫。
另外,不管哪個方法,當我們初次使用時,如果你不太清楚參數怎么寫,雙擊Input欄,會彈出參數窗口,系統會默認寫上參數名和類型,我們只需要填值就好了,當值比較長或比較復雜的時候,也可以切換到Script模式直接填寫。
3.assert斷言:和所有單元框架一樣,Katalon Studio也有斷言語句,就是assert,當斷言不通過時,Case會失敗。我們可以結合findTestObject、Verify系列、Wait For系列等方法一起使用,比如:
assert WebUI.verifyElementVisible(findTestObject('Page_CrfManage/0Page_CrfModel/Page_EditCrf/lab_PCversion'))
查找lab_PCversion元素,當其可見,則斷言通過
Verify系列與assert區別:Verify可以按你的設置來控制腳本是否報錯停止或繼續執行,assert會停止腳本。
4.條件語句:和所有語言一樣,有if,if...else等,舉個if的例子:
更新提示只出現一次,且出現時不能進行其他操作,我們想當有更新提示時,則關閉更新提示
if (findTestObject('Page_Login/button_WhatNewClose')) {
WebUI.click(findTestObject('Page_Login/button_WhatNewClose'))
}
5.循環語句:For 和 While及配合循環的分支語句

我們這里舉個For的最簡單的例子:
for (def index : (1..10)) {
println '第' + index + '次!!!!!!!!!!!!!!!!!!!'
}
在Console中我們可以看到每條命令的執行,以及print的輸出
6.模擬按鍵
有時我們想模擬鍵盤操作,比如ENTER,CTRL+V等,我沒有在Katalon里發現有封裝,但我們可以調用selenium的Keys。
import org.openqa.selenium.Keys as Keys
WebUI.sendKeys(findTestObject('input'), Keys.chord(Keys.CONTROL + 'a'))
WebUI.sendKeys(findTestObject('su'), Keys.chord(Keys.ENTER))
記得要先引用包,具體都有哪些鍵可在腳本編輯時自己看

總之,其他語言、框架有的語句這里都有,多看看官方的API文檔吧
https://api-docs.katalon.com/index.html
如果沒有,那還可以引用其他框架的包
---------------------------------------------------------------------------------
關注微信公眾號即可在手機上查閱,並可接收更多測試分享~

