使用.Net Automation Testing的AutomationElement的屏幕截图

时间:2017-03-26 12:51:07

标签: c# ui-automation

我正在使用System.Windows.Automatition.UiTesting程序集来启动多个进程并分析它们的主窗口。 如何创建所显示窗口的屏幕截图?

Process process = new Process();
process.StartInfo.FileName = ExecutablePath;
if (!process.Start()){
    throw new Exception.Create("Could not start Process.");       
}    
Thread.Sleep(TimeSpan.FromSeconds(10));
process.Refresh();
AutomationElement mainWindow = AutomationElement.FromHandle(process.MainWindowHandle);
var imageFromWindow = ...?

窗口可能(部分)被其他窗口隐藏。

1 个答案:

答案 0 :(得分:1)

元素必须是可见的,然后你可以在BoundingRectangleProperty中获取它的坐标并获得如下所述的截图:

Is CopyFromScreen a right way to get screenShots?