1、爲什麼選擇Katalon?
Katalon用戶甚至不需要任何編程基礎,只需要知道自己想做什麼即可,而webdriver的用戶羣體是開發或者測試人員;
Katalon是一個非常易用的圖形化的工具,是免費的,並且是免安裝版本,下載解壓就能直接使用。而webdriver需要安裝運行環境、語言驅動等等較爲繁瑣的步驟;
使用過程:webdriver 和Katalon都需要查詢API文檔以找到自己想要實現的功能;
專業人員通過webdriver 可以完成各種複雜的功能。Katalon也可以,Katalon用的是Groovy作爲其腳本開發語言;
性能方面,Katalon比Selemium差一點;
Katalon提供了Spy和Record兩個讓構建測試變得異常簡單的神級功能,以及很多內建的非常實用的功能(比如從文件、數據庫等數據源獲取數據填充到測試變量中)。
2、安裝和啓動
下載Katalon:https://www.katalon.com/
選擇版本
解壓,單擊katalon.exe
註冊設置
3、創建項目
4、添加元素到對象庫(元素識別)
Xpath:
絕對路徑:/html/body/table[2]/tbody/tr[1]/td[2]/input
弊端?
相對路徑:
單個條件:
//input[@name="uid"]
多個條件:
//input[@type="text"][@name="uid"]
使用or 與 and
//input[@type="text" and @name="uid" ]
模糊匹配模式:
//td[text()="UserID"]
//td[starts-with(text(),"Us")]
//td[contains(text(),"Us")]
//input[contains(@name,"uid")]
Xpath高級定位方法——xpath軸(XPath Axes)可定義某個相對於當前節點的節點集:
1、child 選取當前節點的所有子元素
2、parent 選取當前節點的父節點
3、descendant 選取當前節點的所有後代元素(子、孫等)
4、ancestor 選取當前節點的所有先輩(父、祖父等)
5、descendant-or-self 選取當前節點的所有後代元素(子、孫等)以及當前節點本身
6、ancestor-or-self 選取當前節點的所有先輩(父、祖父等)以及當前節點本身
7、preceding-sibling 選取當前節點之前的所有同級節點
8、following-sibling 選取當前節點之後的所有同級節點
9、preceding 選取文檔中當前節點的開始標籤之前的所有節點
10、following 選取文檔中當前節點的結束標籤之後的所有節點
11、self 選取當前節點
12、attribute 選取當前節點的所有屬性
13、namespace 選取當前節點的所有命名空間節點
例子:
//*[@type='text']//following::input 定位type屬性值爲text後的所有input元素
如何定位type屬性值爲text後的第一個input元素?
//*[@type='text']//following::input[1]
注意:下標從1開始
定位當前元素所有先輩節點
//*[@type='submit']//ancestor::table
定位當前元素parent
//*[@type='submit']//parent::td
Frame中的元素識別:
https://api-docs.katalon.com/index.html
如何應對功能需求的變化莫測
大招:運用spy,切換到元素對應頁面,對元素做回爐
重新修改xpath語句即可,代碼邏輯不用修改。