繁体   English   中英

WPF,白色自动化,拖挂式

[英]WPF, White Automation, drag and drop hanging

我目前正在尝试使用White UI-Automation framework自动化测试用例。
在这样做时,我在拖放时遇到了一些麻烦。 我试图从一个按钮拖动到屏幕上的一个点,我根据另外两个点的位置来计算。

发生的情况是单击按钮并且鼠标移动到正确的位置,然后应用程序挂起,直到手动移动或单击鼠标,然后发生下降并继续测试。 如果鼠标没有收到任何手动交互,则应用程序继续挂起。

代码如下所示:

var criteria = SearchCriteria.ByText(xText);
var yLocation = window.Get(crite);
var yPoint = yLocation.ClickablePoint;
criteria = SearchCriteria.ByText(yText);
var xPoint = window.Get(crite).ClickablePoint;
var dropPoint = new Point(xPoint.X, yPoint.Y);
criteria = SearchCriteria.ByText(buttonName);
var button = (Button) window.Get(criteria);
Mouse.Instance.DragAndDrop(button, button.ClickablePoint,yLocation,dropPoint);

最后一行之后的任何代码都不会执行。

提前感谢您的帮助。

在这里查看: http://white.codeplex.com/discussions/271672

此页面显示了一种解决方法:

//Point the mouse for drag

Mouse.Instance.Location = draggedItem.ClickablePoint;

Mouse.LeftDown();

//Move the mouse a little down
Mouse.Instance.Location = new Point(draggedItem.ClickablePoint.X, draggedItem.ClickablePoint.Y + 1);

//Move to the new window
targetWindow.Focus();

//Set the point to drop
Mouse.Instance.Location = targetWindow.ClickablePoint;

//Drop
Mouse.LeftUp();

没有真正的问题要回答,但我可以尝试给你一些(有用的?)反馈。

我不了解 White-UI-Automation 框架,也无法使用您提供的链接找到任何有用的文档。 我怀疑 DragAndDrop 在放置完成之前根本不会返回。 这类似于 DoDragDrop 在 WPF 中的工作方式。

如果是这种情况,我不会说 DragAndDrop 挂起,而是您的应用程序正在等待放置完成后再继续。

//丹尼尔

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM