在UI自動化測試中,大多數的腳本都是對元素進行操作,所以元素操作時UI自動化測試中最最核心的內容。
獲取應用對象
dogtail獲取應用對象的時候,使用的是tree庫里面的application()方法:
from dogtail.tree import root
app_obj = root.application('deepin-music')
app_obj就是應用的對象。
獲取元素對象
1.獲取元素對象,是應用對象使用child()方法:
element = app_obj.child('element_name')
我們可以通過傳入元素的Name,獲取到相應元素的對象。Name可以通過sniff查看。
2.獲取元素對象列表:
element_list = element.children
獲取到這個元素下面所有的元素列表。
這個方法適用於有些標簽沒有添加,但是位置是固定的,我們通過索引可以取得元素。
element_list[0]
對元素的操作
在獲取到元素之后,我們就可以對元素進行相應的操作。
單擊
element.click(button=1)
button 1 —>左鍵,2—>滾輪,3—>右鍵,默認為1
雙擊
element.doubleClick(button=1)
鼠標懸停
element.point()
鼠標移動到元素中心位置
文本輸入
element.typeText(string)
向元素對象輸入字符串 ,比如輸入框
組合鍵
element.keyCombo(comboString)
這個方法實際是調用的rawinput.keyCombo(comboString)
,使用方法參考我的另外一篇博客:
dogtail對元素直接的操作比較少,如果涉及到一些比較復雜的業務邏輯,建議結合rawinput或pyautogui或xdotool進行使用。