使用MSTest / MSUnit获取QUnit结果

时间:2011-02-17 19:09:10

标签: unit-testing mstest qunit browser-testing

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

我想从成功/失败<span>中获取值并使用这些值进行测试。

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

1 个答案:

答案 0 :(得分: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 documentation如何做类似事情的例子:

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();
    }
}  

BTW与硒也可以使用真正的浏览器。

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