1

HTML5 캔버스 앱에 대한 자동화 된 테스트 및 벤치 마크를 실행하려고합니다. 저는 python-unittest와 ChromeDriver로 Selenium을 설정했습니다 (대안은 공개되어 있음에도 불구하고).Selenium Python을 사용하여 캔버스에 그릴 수 있습니까?

캔버스 앱은 마우스를 클릭하고 캔버스 위로 드래그하여 선을 그 으려는 화이트 보드입니다. Selenium으로 간단한 도형을 그리는 작업을 자동화하는 방법은 무엇입니까? 나는 python-selenium API를 통해 브라우징했으며 유일한 마우스 이동 테스트 옵션은 ActionChains이지만 모두이 id 또는 class을 기반으로 요소로 마우스를 이동합니다. 캔버스의 좌표를 기반으로 마우스 움직임을 자동화하는 방법을 보지 못했습니다.

캔버스에서 드로잉의 자동화 된 테스트를 수행 할 수있는 방법이 있습니까?

+0

어쩌면 PyUserInput 도울 수 : https://pypi.python.org/pypi/PyUserInput/0.1.9을 그것으로 마우스 움직임/클릭을 제어 할 수 있습니다. – Ryan

답변

2

뿐만 아니라 click_and_hold 기능이 있습니다 : 필요한 테스트를 구둣 주걱하는 데 사용할 수있는 몇 가지 ActionChains 같은있다. 이것은 나를 위해 일한 :

from selenium.webdriver.common.action_chains import ActionChains 

canvas = self.driver.find_element_by_id("myCanvas") 
drawing = ActionChains(self.driver)\ 
    .click_and_hold(canvas)\ 
    .move_by_offset(-10, -15)\ 
    .move_by_offset(20, 32)\ 
    .move_by_offset(10, 25)\ 
    .release() 
drawing.perform() 

(. self.driver 내 셀레늄 webdriver 인 경우)