Robot Framework web自動化測試實現非精準定位鼠標拖拽事件

Robot Framework web自動化測試實現非精準定位鼠標拖拽事件

方法:

通過javascript獲取需要拖拽位置相對位置的x,y軸位置,python調用windows api操作鼠標拖拽,入參添加x,y軸的位置調整參數

具體實現:

  1. 通過javascript獲取需要拖拽位置相對位置的x,y軸位置
    在這裏插入圖片描述
  2. 編寫python調用windows api操作鼠標拖拽方法
    在這裏插入圖片描述
  3. Robot Framework RIDE 調用關鍵字
    在這裏插入圖片描述

代碼

import win32api
def mouse_drafting(self,from_xOffset, from_yOffset, to_xOffset, to_yOffset):
    '''
    功能:    通過鼠標拖拽移動位置
    參數說明:
    作者:   XXX
    日期:    20190118
    更新記錄:
    '''
    #定位位置
    win32api.SetCursorPos((int(from_xOffset), int(from_yOffset)))
    time.sleep(1)
    #按下鼠標左鍵
    win32api.mouse_event(2, int(from_xOffset), int(from_yOffset))
    time.sleep(0.5)
    #移動鼠標位置
    win32api.mouse_event(1, int(to_xOffset), int(to_yOffset))
    time.sleep(0.5)
    #鬆開鼠標左鍵
    win32api.mouse_event(4, 0, 0)
    time.sleep(0.5)

RIDE代碼:
${x_left} Selenium2library.Execute JavaScript return (function(){var odiv=document.getElementsByClassName(“list-container”);var x_left=odiv[0].getBoundingClientRect().left;return x_left;})()

${y_top} Selenium2library.Execute JavaScript return (function(){var odiv=document.getElementsByClassName(“list-container”);var y_top=odiv[0].getBoundingClientRect().top;return y_top;})()

mouse_drafting ${x_left}+準確位置偏移值 ${y_top}+準確位置偏移值 100 0


----------------如有疑問請加微信留言,xiuse_10000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章