try
{
var caps = new DesiredCapabilities();
var counter = 0;
while (proc != null && proc.MainWindowHandle.ToInt32() == 0 && counter < 30)
{
Thread.Sleep(500);
counter++;
}
var AppPath = @"C:\Windows\System32\notepad.exe";
caps.SetCapability("appTopLevelWindow", proc?.MainWindowHandle.ToInt64().ToString("x"));
caps.SetCapability("ms:experimental-webdriver", true);
caps.SetCapability("app", AppPath);
var urlWithPort = WinappServerUrl + selectedPort;
var url = new Uri(urlWithPort);
var driver = new WindowsDriver<WindowsElement>(url, caps, TimeSpan.FromMinutes(5));
Thread.Sleep(5000);
driver.Manage().Window.Maximize();
Thread.Sleep(1000);
return driver;
}
catch (Exception ex)
{
throw new Exception($"Failed in SetupWinAppDriver. Url={WinappServerUrl + selectedPort}, Exception = {ex}");
}
在上面的代码中,
var driver = new WindowsDriver<WindowsElement>(url, caps, TimeSpan.FromMinutes(5));
成功启动Winappdriver和记事本后会抛出此行。
错误是
System.InvalidOperationException: 'An unknown error occurred in the remote end while processing the command.'
尝试启用开发者模式。 尝试在管理员模式下运行 winappdriver。
如果您想附加到现有进程,请尝试删除以下行:
caps.SetCapability("ms:experimental-webdriver", true);
caps.SetCapability("app", AppPath);
如果您想运行应用程序并创建会话,请删除:
caps.SetCapability("appTopLevelWindow", proc?.MainWindowHandle.ToInt64().ToString("x"));
caps.SetCapability("ms:experimental-webdriver", true);