1. 程式人生 > >自動化測試系列之三:使用Katalon Recorder自動生成基於Selenium框架的測試程式碼

自動化測試系列之三:使用Katalon Recorder自動生成基於Selenium框架的測試程式碼

系列連結

介紹

上一節說到有人提議用Selenium IDE,本人親自試用了一下,發現不太好用,一是因為它不能export出程式碼,二是輸入的引數是寫死的,比如現在我輸入的是hello world,可能我下次使用的時候,需要輸入ABCD, 那是不是需要手工的去改這個值呢?基於這兩個問題,所以決定棄用Selenium IDE。


 通常做自動化測試肯定離不開寫程式碼的,但一開始就寫程式碼對測試妹紙來說明顯不和諧,有沒有一種工具測試人員在瀏覽器上正常手工測試,這個外掛會記錄測試人員的動作自動生成相應的程式碼呢? 有,它叫Katalon Recorder,連線好VPN之後,點選這裡

下載,最後在Chrome瀏覽器上的外掛是這樣的

 點選這個工具後,彈出如下介面

點選Record,就可以開始錄製你的第一個Test Case了,它會自動彈出Chrome瀏覽器,訪問https://baidu.com, 輸入Hello World 並點選搜尋,在搜尋列表中點選第一條記錄,它會彈出Hello World百度百科的網頁。 你手工測試的網頁大概像下面這樣。

 在Katalon Recorder中點選Stop後,就完成了錄製,它會自動記錄你的操作步驟,如下圖

 如果你想重新執行一下這個Test Case的話,可以點選上面的Play,匯出程式碼的話,點選Export,就可以看到自動生成的程式碼了。

大紅框內的就是生成的程式碼,可以將它Copy到我們上一節建立的專案裡面,但這裡有一個問題,它產生的程式碼不能解決我們所有的問題,比如上面藍色框內的程式碼就有問題,我們需要替換它,這一行程式碼的本意是:“當點選Hello World百度百科”連結後,瀏覽器會開啟一個新的Tab來顯示“Hello World百度百科”的網頁,結果它扔給我們一段ERROR的程式碼,我們需要把它替換成像下面這樣的程式碼:

IWebDriver driver = new ChromeDriver();
List<string> handlers = new List<string>();
foreach (string handle in driver.WindowHandles)
{
   //判斷哪一個是被開啟的頁面
   //假定當前頁面排在第一位,被開啟的頁面排在第二位
   handlers.Add(handle);

}
driver.SwitchTo().Window(handlers.ElementAt(1)); //定位到新開啟的頁面

如果是初學Selenium的人員的,上面的這段程式碼還是會有點懵逼,所以這個工具只是個輔助工具,幫你加速寫程式碼而已,但真遇到問題,還需要踏實地學好Selenium的知識後才能解決。

今天就介紹到這裡,加油。。。