C# - 进程对象不是 运行 cmd 命令

C# - Process object not running cmd command

我使用 WinAppDriver 是为了 运行 Excel 上的一些测试用例。我正在尝试通过代码启动服务器,这样我就不必在命令行中手动执行它。我有以下代码-

public static void StartWinAppServer(int port) {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = ProcessWindowStyle.Normal;
            startInfo.FileName = "cmd.exe";
            startInfo.WorkingDirectory = @"C:\Program Files (x86)\Windows Application Driver\";
            startInfo.Arguments = $"WinAppDriver {port}";
            process.StartInfo = startInfo;
            process.Start();
        }

这样叫的-

public static WindowsDriver<WindowsElement> GetWindowsAppDriver (AppName appName) {
            string appID = string.Empty;

            StartWinAppServer(4723);
            switch(appName) {

                case AppName.Excel:
                    appID = @"C:\Program Files\Microsoft Office\root\Office16\Excel.exe";
                    break;
            }

            DesiredCapabilities appCapabilities = new DesiredCapabilities();
            appCapabilities.SetCapability("app", appID);

            return new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), appCapabilities);
        }

此代码打开了 CMD,但并未 运行 开启它。我在这里错过了什么吗?我认为参数 属性 可以解决问题。

尝试将 /K/C 标志添加到 startInfo.Arguments。这告诉 cmd.exe 到 运行 以下命令然后关闭(在 /C 的情况下)或 return 到 cmd 提示符(在 /K 的情况下) )

startInfo.Arguments = $"/C WinAppDriver {port}";

https://ss64.com/nt/cmd.html