1

我想加载一个浏览器页面,它是运行 QUnit 测试的页面的静态 HTML 测试工具。

我想从 success/failure 中获取值<span>并对其进行测试。

如何使用 MSTest/MSUnit 加载页面并查询其上的元素?

4

1 回答 1

1

如果您不介意启动实际的浏览器,并且不想依赖 SeleniumRC(这是 C# 所必需的),您可以使用WatiN。下面是 WatiN 的小例子。

[Test] 
public void SearchForWatiNOnGoogle()
{
  using (var browser = new IE("http://www.google.com"))
  {
    browser.TextField(Find.ByName("q")).TypeText("WatiN");
    browser.Button(Find.ByName("btnG")).Click();

    Assert.IsTrue(browser.ContainsText("WatiN"));
  }
}

或者,如果您不想在机器上启动真正的浏览器,您可以尝试 Selenium 和 HtmlUnit。使用 Selenium,您可以启动 HtmlUnit,告诉它加载给定页面,然后通过 xpath 读取您需要的内容。例如,这是Selenium 文档中如何执行类似操作的示例:

using OpenQA.Selenium;
using OpenQA.Selenium.Remote;

class Example
{
    static void Main(string[] args)
    {

        ICapabilities desiredCapabilities = DesiredCapabilities.HtmlUnit();
        IWebDriver driver = new RemoteWebDriver(desiredCapabilities);

        driver.Navigate().GoToUrl("http://google.ca/");

        IWebElement element = driver.FindElement(By.Name("q"));
        element.SendKeys("Cheese!");
        element.Submit();
        System.Console.WriteLine("Page title is: " + driver.Title);
        driver.Quit();
        System.Console.ReadLine();
    }
}  

顺便说一句,你也可以使用 selenium 真正的浏览器。

另一方面,如果这个带有结果的页面是本地文件,您只需读取文件并过滤您需要的数据。

于 2011-02-17T20:11:15.213 回答