我正在尝试为 HTML5 Canvas 应用程序运行自动化测试和基准测试。我已经使用 python-unittest 和 ChromeDriver 设置了 Selenium(尽管我对替代方案持开放态度)。
Canvas 应用程序是一个白板,通过单击鼠标并在 Canvas 上四处拖动来绘制线条。如何使用 Selenium 自动绘制简单的形状?我浏览了 python-selenium API,唯一的鼠标移动测试选项是通过 ActionChains
,但这些都是根据元素的 id
或 将鼠标移动到元素>类
。我还没有看到根据 Canvas 上的坐标自动移动鼠标的方法。
有没有办法实现在 Canvas 上绘图的自动化测试?
最佳答案
还有一个 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。)
关于python - 我可以使用 Selenium Python 在 Canvas 上绘图吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26637524/