如何让一个按钮在MVC中启动一个新的selenium单元测试
本文关键字:一个 启动 单元测试 selenium 按钮 MVC | 更新日期: 2023-09-27 18:04:58
我的问题是,正如标题所说;我如何使一个按钮开始一个新的硒单元测试在MVC?我是MVC概念的新手,我想学习实现如何通过在网页中按下一个按钮来启动一个新的selenium测试。目前Selenium测试是在用户计算机上进行的,但最终我想让它在虚拟机上启动。我现在只使用一个控制器"Home",我现在只在一个页面上尝试所有这些"Index"。
我已经能够使用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>
我曾尝试将"a"改为"input"甚至"Submit",但不幸的是,这也没有让我走得很远。
我一直在寻找这个答案几天(不一定运行硒,但更多的只是运行一个按钮点击事件的动作)。
任何帮助,这将是非常感谢,——沃尔克
我用下面的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();
}
与索引。CSHTML有如下代码:
<input id="btn1" type="button" class="btn btn-success" value="Load Random number »"/>
我改变了randNumber到我的硒代码,它工作。