我的问题是标题所述;如何让按钮在MVC中启动新的selenium单元测试?我是MVC概念的新手,我想学习如何通过网页中的按钮开始测试以开始新的硒测试。现在的Selenium测试是在用户计算机上,但最终我想让它在虚拟机上启动。我现在只使用一个控制器" Home"我现在只在一页上尝试所有这些"索引"。
我已经能够使用Index.cshtml中的以下代码在页面加载时执行selenium任务:
<p> Testing: @SeleniumController.OpenBrowser()</p>
然后在我的HomeController.cs中我有以下代码(我知道直接从控制器调用片段不是一个好习惯,但我不确定如何以其他方式做到这一点):
public static string OpenBrowser()
{
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://www.google.com");
return driver.Title;
}
我还有一个按钮,我无法弄清楚如何运行命令。我不熟悉Javascript,我一直在这里学习,但我仍然相当远。
以下是我的按钮代码:
<a class="btn btn-success" id="StartChrome">Start Chrome in Selenium »</a>
我尝试过更换它而不是&#34; a&#34;输入&#34;输入&#34;甚至&#34;提交&#34;但不幸的是,这并没有让我走得太远。
我几天来一直在寻找这个答案(不一定是运行selenium,而只是在按钮点击事件上运行动作)。
对此有任何帮助将非常感谢, - Volk
答案 0 :(得分:0)
我使用以下AJAX代码完成了自己的工作。
$("#btn1").click(function () {
$.ajax({
url: "/Home/RandNumber",
datatype: "text",
type: "POST",
success: function (data) {
$('#testarea').html(data);
},
error: function () {
$("#testarea").html("ERROR");
}
});
});
在控制器功能中是:
[HttpPost]
public string RandNumber()
{
Random rand = new Random();
return rand.Next(0, 100).ToString();
}
使用此代码的Index.cshtml:
<input id="btn1" type="button" class="btn btn-success" value="Load Random number »"/>
我将randNumber更改为我的selenium代码并且它有效。