У меня есть веб-страница asp в Visual Studio 2017 с кнопкой asp, которая при щелчке запускает командный файл в Windows PowerShell.Пакетный файл запускает тесты NUnit Selenium.
Код для открытия PowerShell и запуска пакетного файла работает в графическом интерфейсе без веб-интерфейса.Я пытаюсь сделать то же самое на веб-странице, но это не работает, в результате чего:
Программа '[10968] iisexpress.exe' вышла с кодом -1 (0xffffffff).Я был бы очень благодарен за любую помощь.
Не имеет значения, работаю я с отладкой или без нее.Извините, я новичок в этом!
Код страницы .aspx следующий:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head Runat="server">
<title>RunTests</title>
<script src="Scripts/jquery-3.0.0.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<link rel="shortcut icon" href="#"/>
<link href="Content/bootstrap.css" rel="stylesheet" />
<link rel="shortcut icon" href="#" />
</head>
<body>
<script src="Scripts/jquery-3.0.0.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
<!--Navigation bar-->
<div id="nav-placeholder">
</div>
<script>
$(function(){
$("#nav-placeholder").load("nav.html");
});
</script>
<!--end of Navigation bar-->
<br /><br />
<div class="container">
<blockquote class="blockquote text-center">
<p class="h2">Select the tests to run</p>
</blockquote>
<br />
</div>
<div class="card-group">
<div class="row">
<div class="col-sm-3">
<div class="card">
<div class="card-body">
<h5 class="card-title">Accessibility</h5>
<p class="card-text">Run all Accessibiity tests</p>
<form id="form1" runat="server">
<asp:Button id="Accessibility" class="btn btn-primary" onclick="Accessibility_Click" Text="Accessibility" runat="server"/>
</form>
</div>
</div>
</div>
Код кнопки:
protected void Accessibility_Click(object sender, EventArgs e)
{
Button clickedButton = (Button)sender;
if (File.Exists("Listings.bat"))
{
string filePath = @"C:\Users\Michael\Documents\KompasseraAutomation\KompasseraTests\bin\Debug\";
File.GetAttributes("Listings.bat");
string strCmdText = Path.Combine(filePath, "Listings.bat");
var process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.FileName = @"C:\windows\system32\windowspowershell\v1.0\powershell.exe";
process.StartInfo.Arguments = "\"&'" + strCmdText + "'\"";
}
}