2011-02-17 27 views
1

我想加載一個瀏覽器頁面,該頁面是運行QUnit測試的頁面的靜態HTML測試工具。使用MSTest/MSUnit獲取QUnit結果

我想從成功/失敗<span> s中獲得數值,並用這些數值進行測試。

如何使用MSTest/MSUnit加載頁面和查詢元素?

回答

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硒可以使用真正的瀏覽器也。

另一方面,如果此頁面的結果是本地文件,則您只需讀取該文件,並過濾需要的數據。

+0

你能移動WatiN到這個答案的頂部,因爲它更簡單,更清潔。 – StuperUser 2011-02-18 10:42:29