自動化測試系列之三:使用Katalon Recorder自動生成基於Selenium框架的測試程式碼
系列連結
介紹
上一節說到有人提議用Selenium IDE,本人親自試用了一下,發現不太好用,一是因為它不能export出程式碼,二是輸入的引數是寫死的,比如現在我輸入的是hello world,可能我下次使用的時候,需要輸入ABCD, 那是不是需要手工的去改這個值呢?基於這兩個問題,所以決定棄用Selenium IDE。
通常做自動化測試肯定離不開寫程式碼的,但一開始就寫程式碼對測試妹紙來說明顯不和諧,有沒有一種工具測試人員在瀏覽器上正常手工測試,這個外掛會記錄測試人員的動作自動生成相應的程式碼呢? 有,它叫Katalon Recorder,連線好VPN之後,點選這裡
點選這個工具後,彈出如下介面
點選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的知識後才能解決。
今天就介紹到這裡,加油。。。