我正在尝试为HTML5画布应用程序运行自动化测试和基准测试。我已经使用python-unittest和ChromeDriver建立了Selenium(虽然我可以选择替代方案)。
画布应用程序是一个白板,通过单击鼠标并在画布上拖动来绘制线条。如何使用Selenium自动绘制简单的形状?我浏览了python-selenium API并且唯一的鼠标移动测试选项是ActionChains
,但这些都是基于id
或class
将鼠标移动到元素。我还没有看到基于画布上坐标自动化鼠标移动的方法。
有没有办法在画布上实现绘图的自动化测试?
答案 0 :(得分:2)
还有click_and_hold功能。这对我有用:
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是我的Selenium webdriver。)
答案 1 :(得分:1)
在问我的问题之前,也许我应该阅读更多的文档。可以使用几个ActionChains
来进行必要的测试,例如: