我在asp.net 4.0中有一个Web应用程序,有时我必须访问域外的链接,并填写一些信息,登录和其他类似日期的内容。我想自动化这个过程。
这就是我想要的:
用户点击按钮,其他站点的链接将在新选项卡上打开,文本框中填充了应用程序中的信息。用户通知验证码并按“继续”。该网站将验证信息并将其登录,然后登录时会有更多这样的步骤。
我尝试了什么:
我的应用上的iframe - 无法访问其中的DOM元素。
使用javascript - 类似于:
var window = window.open("site");
window.getElementById("");
但仍然没有成功。
然后finnaly我尝试了Selenium,这是一个自动化测试的框架,我想执行任务,而不是测试。我让它与硒合作,实际上它就像一个魅力。
代码:
var browser = Request.Browser;
IWebDriver driver = null;
switch (browser.Browser)
{
case "Chrome":
driver = new ChromeDriver(Server.MapPath("path"));
break;
default:
driver = new FirefoxDriver();
break;
}
driver.Navigate().GoToUrl("url");
IWebElement field = driver.FindElement(By.Id("fieldId"));
field .SendKeys("info i want to send");
...
问题是我必须发布我的应用程序,因为我有很多用户使用它(这是我尝试自动执行此过程的主要原因)。当我将它发布到我的本地IIS进行测试时,它停止工作,我不知道该做什么或搜索什么。任何帮助将不胜感激,提前谢谢。
答案 0 :(得分:1)
我设法在这个非常相似的问题上找到解决方案:
Can we run Selenium WebDriver Test case with IIS, instead of Visual Studio Development server
为了使它工作,我需要按照这两个步骤创建启动RemoteWebDriverServer。 您可以在此处找到有关它的更多信息:Selenium RC info。