Почтальон - как передать данные из списка <string>в памяти в раздел -data командной строки Newman - PullRequest
1 голос
/ 19 апреля 2019

Мне нужно выполнить коллекцию Postman из моего метода C #.Но вместо файла данных мне нужно передать данные непосредственно из вывода метода (в виде списка).

Вот мой код:

 public StringBuilder RunPostmanCall(string collectionPath, string executionFolder, string environmentPath, List<string> inputFilePath = null)
        {
            StringBuilder runOutputBuilder = new StringBuilder();
            string runOutput = null;
            ProcessStartInfo psiNpm = new ProcessStartInfo
            {
                FileName = "cmd",
                RedirectStandardOutput = true,
                RedirectStandardInput = true,
                UseShellExecute = false
            };
            Process pNpmRun = Process.Start(psiNpm);
            pNpmRun.OutputDataReceived += (sender, a) => runOutputBuilder.AppendLine(a.Data);
            Console.WriteLine("   - Install Newman ...");
            pNpmRun.StandardInput.WriteLine($"npm install -g newman");
            Console.WriteLine("   - Execute Postman Script ...");
            string value = $"newman run " +
                $"\"" + collectionPath + "\" " +
                $"--folder \"" + executionFolder + "\" " +
                $"--environment \"" + environmentPath + "\" " +
                $"-d \"" + inputFilePath + "\" " +
                $"--disable-unicode";
            pNpmRun.StandardInput.WriteLine(value);
            pNpmRun.BeginOutputReadLine();
            pNpmRun.StandardInput.WriteLine("exit 0");

Я получаю следующую ошибку:

bin\Debug>newman run "../../api/postman_audit.json" --folder "SearchIndex" --environment "../../api/postman_environment.json" -d "System.Collections.Generic.List`1[System.String]" --disable-unicode

Я мог бы сохранить выходные данные в файл, а затем просто использовать это местоположение файла в командной строке.Но я бы хотел избежать создания файла и чтения данных непосредственно из памяти.

1 Ответ

1 голос
/ 06 мая 2019

к сожалению, с -d вы можете ссылаться только на файл в вашей файловой системе.

Если вы не хотите записывать эти данные непосредственно в файл, я бы предложил установить значения непосредственно как глобальную переменную.из командной строки.Попробуйте добавить этот параметр в свою команду запуска для новичка --global-var key=value

. Вы можете добавить свои данные в строку и добавить их в качестве глобальной переменной.Вы можете проанализировать его в вашем предварительном запросе или тестовом скрипте в обычном режиме.

...