如何在Appium中为“运行对话框”创建会话?

时间:2019-06-12 05:15:53

标签: unit-testing appium ui-automation winappdriver

通过使用powershell命令,我可以获得run dialog程序ID,即Microsoft.Windows.Shell.RunDialog。但是,我无法在下面的代码中使用它。有想法吗?

DesiredCapabilities desktopCapabilities = new DesiredCapabilities();
desktopCapabilities.SetCapability("app", "Microsoft.Windows.Shell.RunDialog");
desktopCapabilities.SetCapability("deviceName", "WindowsPC");
desktopCapabilities.SetCapability("platformName", "Windows");

session = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), desktopCapabilities);

1 个答案:

答案 0 :(得分:1)

看看this帖子中有关运行对话框的答案。我最好的猜测是winappdriver正在调用rundll32.exe,而不是对话框本身。

您可以尝试更改此行

desktopCapabilities.SetCapability("app", "Microsoft.Windows.Shell.RunDialog");

进入

desktopCapabilities.SetCapability("app", "c:\windows\system32\rundll32.exe shell32.dll,#61");

或者,您可以获取桌面会话并向其发送“ Windows key + r”。 Here是获取桌面会话的方法。