【发布时间】:2017-03-15 15:03:13
【问题描述】:
我需要使用带有 Selenium WebDriver 的 C# 自动测试 HTML Canvas。当这个测试是手动完成时,它是通过按住鼠标单击并将光标移动到图像上来完成的。以下是我到目前为止尝试过的代码。这不会在图像上绘制。但是,在运行此测试并在图像处停止后,如果我手动将鼠标移到图像上而不单击,它会在 HTML 画布上绘制。
IWebElement canvasContainer = WebDriver.FindElement(By.ClassName("canvas-container"));
System.Drawing.Point Location = canvasContainer.Location;
System.Drawing.Size Space = canvasContainer.Size;
Actions builder = new Actions(WebDriver);
builder.ClickAndHold();
IAction drawAction = builder.MoveToElement(canvasContainer,
Location.X, Location.Y) //start points x axis and y axis.
.ClickAndHold()
.MoveByOffset(Location.X, Location.Y)
.ClickAndHold()
.MoveByOffset(-Location.Y, -Location.Y)
.ClickAndHold()
.MoveByOffset(-Location.Y, -Location.Y)
.ClickAndHold()
.Build();
drawAction.Perform();
int move1 = Space.Width / 2;
int move2 = Space.Height / 2;
builder.MoveToElement(canvasContainer, move1, move2);
【问题讨论】:
-
谢谢,我试了一下,但我的图像上仍然没有看到任何绘图。它通过单击并按住来手动工作,而不是通过单击移动单击。你知道一种修改方法来点击并按住吗?
标签: c# html selenium canvas drawing