如何通过 TestComplete 测试在屏幕上居中 WPF window?

How to center a WPF window on screen from TestComplete tests?

我正在使用 TestComplete 9 和 JScript 对 WPF 应用程序进行自动化测试。如何从我的测试脚本中将 WPF window 定位到屏幕中央?有内置函数吗?

在 Window 的 XAML 中只需使用 WindowStartupLocation="CenterScreen"

在 TestComplete 测试中,您可以使用 Position 方法移动 windows。您可以根据桌面分辨率(Sys.Desktop.WidthSys.Desktop.Height)和 window 大小(.Width 和 [=16=)计算 window 的居中位置]):

var wnd = Sys.Process("notepad").Window("Notepad"); // Replace with your window reference

var x = (Sys.Desktop.Width - wnd.Width) / 2;
var y = (Sys.Desktop.Height - wnd.Height) / 2; 
wnd.Position(x, y, wnd.Width, wnd.Height);

这是针对一台显示器的。如果您有多个显示器,请适当调整代码。例如,如果您有两个水平排列的显示器,请使用:

var x = (Sys.Desktop.Width / 2 - wnd.Width) / 2;