Поиск…


Вступление

Автоматизация служб управления инфраструктурой приводит к сокращению FTE, а также к кумулятивному повышению рентабельности инвестиций с использованием нескольких инструментов, оркестров, оркестровки Engine, сценариев и простого пользовательского интерфейса

Простой скрипт для тестирования интеграции с черным ящиком консольных приложений

Это простой пример того, как вы можете автоматизировать тесты для консольного приложения, которые взаимодействуют со стандартным вводом и стандартным выходом.

Проверенное приложение считывает и суммирует каждую новую строку и будет предоставлять результат после предоставления одной белой строки. Сценарий оболочки питания записывает «pass» при совпадении вывода.

$process = New-Object System.Diagnostics.Process
$process.StartInfo.FileName = ".\ConsoleApp1.exe"
$process.StartInfo.UseShellExecute = $false
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.RedirectStandardInput = $true
if ( $process.Start() ) {
    # input
    $process.StandardInput.WriteLine("1");
    $process.StandardInput.WriteLine("2");
    $process.StandardInput.WriteLine("3");
    $process.StandardInput.WriteLine();
    $process.StandardInput.WriteLine();
    # output check
    $output = $process.StandardOutput.ReadToEnd()
    if ( $output ) {
        if ( $output.Contains("sum 6") ) {
            Write "pass"
        }
        else {
            Write-Error $output
        }
    }
    $process.WaitForExit()
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow