使用C#自动化涉及其他网站的进程

时间:2014-09-23 12:36:38

标签: c# html asp.net selenium ui-automation

我在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进行测试时,它停止工作,我不知道该做什么或搜索什么。任何帮助将不胜感激,提前谢谢。

1 个答案:

答案 0 :(得分:1)

我设法在这个非常相似的问题上找到解决方案:

Can we run Selenium WebDriver Test case with IIS, instead of Visual Studio Development server

为了使它工作,我需要按照这两个步骤创建启动RemoteWebDriverServer。 您可以在此处找到有关它的更多信息:Selenium RC info