我正在使用Windows自动化来测试我的UI并且正在打开和关闭进程.我想拥有一个有效的WindowHandle,但Process.WaitForInputIdle()不会等待足够长的时间.我有一个解决方法,但不明白为什么WaitForInputIdle()不起作用.
下面是一个小代码片段:
Process = new Process
{
StartInfo =
{
WorkingDirectory = directory,
FileName = EXECUTABLE_FILE_NAME
}
};
Process.Start();
//Process.WaitForInputIdle() doesn't work,
//so will use a while loop until MainWindowHandle isn't IntPtr.Zero anymore,
//or until 10 seconds have elapsed
int count = 0;
while (Process.MainWindowHandle == IntPtr.Zero && count<100)
{
count++;
Thread.Sleep(100);
}
AppElement = AutomationElement.FromHandle(Process.MainWindowHandle);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5397 次 |
| 最近记录: |