2011-02-17 4 views
1

QUnit 테스트를 실행하는 페이지에 대한 정적 HTML 테스트 장치 인 브라우저 페이지를로드하고 싶습니다.MSTest/MSUnit을 사용하여 QUnit 결과 얻기

성공/실패 <span>에서 값을 가져 와서 테스트하고 싶습니다.

페이지를로드하고 MSTest/MSUnit을 사용하여 페이지에서 요소를 조회하려면 어떻게해야합니까?

답변

1

실제 브라우저를 시작하는 데 신경 쓰지 않고 C#에 필요한 SeleniumRC에 의존하지 않으려면 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를 통해 필요한 것을 읽는다.

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 셀레늄과 함께 당신은 또한 실제 브라우저를 사용할 수 있습니다 : 예를 들어이 비슷한을 수행하는 방법 Selenium documentation에서 예입니다.

반면에 결과가있는이 페이지가 로컬 파일이면 필요한 파일과 필터 데이터를 읽었을뿐입니다.

+0

WatiN을이 답변의 맨 위로 이동할 수 있습니까? 훨씬 간단하고 명확하므로 – StuperUser

+0

어쨌든 셀레늄을 시도해 보았지만 P – yoosiba

+0

품질 보증 (QA)시 셀레늄을 사용 했으므로 레코딩에 좋았지 만 WatiN은 내가 제대로 작동 할 수 있도록 완벽했습니다. 셀레늄을 조사하여 WatiN이 할 수없는 일을 확인합니다. 건배 yoosiba. – StuperUser