katalon studio教程之通過錄制/回放創建測試用例


    錄制用例是測試新人開始學習自動化的最簡單的方法。因為在應用程序中識別對象既費時又痛苦。katalon studio這款工具之所以比selenium更適合初學自動化的同學們使用,就是因為它提供了Web錄制器這樣一個實用程序,用來捕獲在應用程序上執行的操作,並將它們轉換為后端可運行的代碼。通過這個方法,我們可以快速實現應用程序的一些功能,並通過錄制在迭代中多次執行來節省時間。這個Katalon Studio函數支持在多個瀏覽器上錄制和運行相同的測試。

------------------------------------------------------------------------------------------我是正文開始的分割線--------------------------------------------------------------------------------------------------------

  1.  用Katalon Studio “Record Web ”功能錄制第一個測試用例

場景:登錄。

1) 啟動正在測試的應用程序(URL: http://192.168.1.157:8083/#/login)

2) 輸入有效的用戶名、密碼並點擊登錄按鈕。

 

步驟1:啟動Katalon Studio並在主工具欄上單擊新建>測試用例(New > Test Case)。為您的測試用例提供一個名稱,並單擊OK。

 

步驟2:點擊菜單欄上Record Web按鈕。

 

 

步驟3:會出現一個錄制對話框。

 

步驟4:輸入網址,選擇一個瀏覽器並單擊Record按鈕開始錄制測試用例。

 

步驟5:瀏覽器將自動啟動,並打開輸入的網址,等待登錄頁面加載出來。

 

步驟6:輸入有效的用戶名和密碼,點擊“登錄”按鈕(等待頁面加載)

 

到這里為止,假設一個用例已經執行完成。

 

步驟7:只要點擊“stop”,就可以停止錄制。

步驟8:當您完成錄制時,單擊 OK。Katalon Studio會自動將剛才的操作轉化成腳本,並保存所有的元素。

存儲在對象庫中的元素,在需要時可以重用這些對象。您還可以創建一個文件夾來維護所需結構中的頁面對象。單擊OK繼續。

 

步驟9:在測試用例中保存了錄制的對象和操作,如下所示

以下是手動模式:

以下是腳本模式:

      

       各個模式之間通過下方的按鈕進行切換。

   只需點擊“Run”,就可以在需要的瀏覽器中執行錄制的測試用例。

    對象庫

  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不用管,是工具自動導入的包。

 

一個測試用例就完成了!非常簡單易用,適合對代碼不太了解的朋友,我最近也是在研究這個,希望能對大家有所幫助!

 

---------------------------------------------------------------------------------------正文結束----------------------------------------------------------------------------------------------------------------------

 

  不過這個工具還是有些缺陷的,官方也說了,有些場景是無法錄制的,如Web表單處理,多個框架(畫面)切換,切換窗口,處理驗證碼、圖像識別、視頻回饋。這些頁面比較復雜,還有一些元素定位需要我們自己去定義Xpath / CSS(這個我后面會寫如何自己去定義元素)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM