C#-带有Selenium的MVC应用程序;在服务器上部署时无法工作
本文关键字:部署 工作 服务器 Selenium 带有 MVC 应用程序 C#- | 更新日期: 2023-09-27 18:00:44
我用C#+.NET-MVC制作了一个登录自动化应用程序。
我的应用程序在本地计算机上运行良好,并将所有内容保存在数据库中。
一旦我在本地机器上部署了我的应用程序,索引视图就会接收电子邮件和密码,将它们发送到数据库并保存。下一步用Selenium启动WebDriver(Firefox或Chrome在笔记本电脑上运行)。在这里,什么都没发生。它永远在本地主机上等待,Chrome和FF都会在一段时间后超时。
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult getInformation()
{
email = Request["getEmail"].ToString();
password = Request["getPassword"].ToString();
saveLogin();
return RedirectToAction("gatherer");
}
public ActionResult gatherer()
{
facebookLogin();
return null;
}
private static void facebookLogin()
{
chrome = new FirefoxDriver();
chrome.Navigate().GoToUrl("http://facebook.com");
chrome.FindElement(By.Id("email")).SendKeys(email);
chrome.FindElement(By.Id("pass")).SendKeys(password);
chrome.FindElement(By.Id("loginbutton")).Click();
}
这很简单,它再次在我的本地计算机上运行。但是部署在服务器上的IIS上,它没有。换句话说:网络驱动程序永远不会打开。
首先需要从更改
chrome = new FirefoxDriver();
至
DesiredCapabilities capability = DesiredCapabilities.Firefox();
Uri url = new Uri("http://REMOTE_IP:5050/wd/hub");
IWebDriver chrome = new RemoteWebDriver(url, capability);
然后下载Selenium Standalone服务器,并使用命令提示符使用启动它
java -jar C:'selenium-server-standalone-2.24.1.jar -interactive -port 5050