如何从基于selenium的单元测试项目访问Web项目?

时间:2012-07-05 17:55:49

标签: c# asp.net selenium

我的解决方案Web和SeleniumTests中有两个项目,即单元测试项目。

我有以下方法的TestClass:

[TestMethod]
public void Demo1()
{
    // Create a new instance of the Firefox driver.

    // Notice that the remainder of the code relies on the interface, 
    // not the implementation.

    // Further note that other drivers (InternetExplorerDriver,
    // ChromeDriver, etc.) will require further configuration 
    // before this example will work. See the wiki pages for the
    // individual drivers at http://code.google.com/p/selenium/wiki
    // for further information.
    IWebDriver driver = new FirefoxDriver();

    //Notice navigation is slightly different than the Java version
    //This is because 'get' is a keyword in C#
    driver.Navigate().GoToUrl("http://www.google.com/");

    // Find the text input element by its name
    IWebElement query = driver.FindElement(By.Name("q"));

    // Enter something to search for
    query.SendKeys("Cheese");

    // Now submit the form. WebDriver will find the form for us from the element
    query.Submit();

    // Google's search is rendered dynamically with JavaScript.
    // Wait for the page to load, timeout after 10 seconds
    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
    wait.Until((d) => { return d.Title.ToLower().StartsWith("cheese"); });

    // Should see: "Cheese - Google Search"
    System.Console.WriteLine("Page title is: " + driver.Title);

    //Close the browser
    driver.Quit();
}

一切都很好,但在现实世界中,我不想访问Google.com,而是访问Web Project的某个页面。有没有办法在driver.Navigate().GoToUrl("http://www.google.com/");

中没有明确写为url的情况下访问它

例如,我想访问Web项目的〜/ Default.aspx。

感谢

1 个答案:

答案 0 :(得分:0)

当你调用GoToUrl()时,你必须传递一个有效的URL。 "〜/ Default.aspx的"不是有效的HTTP URL。