2009-04-07 2 views
3

우리는 현재 CruiseControl.NET 하룻밤 빌드 동안 사이트의 자동화 된 테스트를 실행하기 위해 SWEA (http://webiussoft.com)를 사용합니다.CruiseControl.NET의 C# 자동화 된 웹 테스팅을위한 "Art of Test"

더 강력한 솔루션을 찾고 있으며 "Art of Test"(http://www.artoftest.com) 솔루션을 찾고 있습니다.

이 도구를 사용해 본 경험이 있습니까?

가장 중요한 것은이 도구를 사용하여 테스트를 얼마나 쉽게 유지할 수 있습니까?

또는 권장할만한 다른 C#/NUnit/CruiseContol.NET 솔루션이 있습니까?

답변

0

다른 옵션은 WatiN 일 수 있습니다.

2

저는 ArtOfTest에서 일합니다. 지난 며칠 동안 저는 CruiseControl.NET을 사용하여 프레임 워크가 훌륭하게 작동하도록하는 데 필요한 것을 조사했습니다. 주요 키는 CruiseControl.NET 서버를 콘솔 모드 (Windows 서비스 대신)로 실행하는 것입니다. 그 이유는 단위 테스트 실행 단계가 UI 테스트에 필요한 데스크톱과 직접 상호 작용할 수 있기 때문입니다. 일반적으로 Windows 서비스에서 실행되는 코드는 (우리가 필요로하는) ​​데스크톱과 상호 작용할 수 없으므로 시도 할 때 실패합니다.

TeamCity도 좋은 CI 서버입니다. 나는 지금 그것을보고 있고 그것을 대부분 알아 냈다.

다른 질문이 있으시면 [email protected]으로 문의하십시오. 또한이 스레드도 모니터링 할 것입니다.

WatiN은 나쁘지 않습니다. 불행히도 VisualStudio와의 통합에는 부족함이 있으며 우리가 제공하는 많은 다른 기능이 빠져 있습니다.

들으, 코디

+0

우선, 정말 콘솔로 실행하는 안 답변. 사실, 가장 좋은 시나리오는 CruiseControl.NET이 빌드 서버의 서비스로 제어하는 ​​다른 상자에서 테스트를 실행하는 것입니다. 빌드 서버가 이것을해서는 안됩니다. – Alex

+0

우리는 bulld 서버라고 부르지 않고 대신에 지속적인 통합 서버라고 부릅니다. 이제는 괜찮습니까? – Ryu

0

는 두 개의 큰 사람이 Watin & 셀레늄처럼 보인다. 나는 셀레늄과 어떤 일도하지 않았다.

나는 Watin을 상당히 많이 사용했지만, 꽤 좋았지 만 많은 문제가 있습니다. 브라우저에서 응답 시간을 크게 달라지기는 어려울 수 있습니다 ... 제한 시간 설정 등.

최신 버전의 Watin은 IE & Firefox를 지원합니다.

필자의 경험에 비추어 볼 때 가장 중요한 것은 "테스트 드라이버"코드를 "페이지 줄 바꿈 코드"에서 완전히 분리하는 것입니다.

이 ...

var wrapper = new SearchPageWrapper(browser); 
wrapper.ClickAdvancedSearch(); 
wrapper.EnterSearchPhrase("dog"); 
wrapper.SetSortBy(SortType.Date); 
wrapper.ExecuteSearch(); 

이 ... 페이지 - 래퍼가이 논리 인터페이스를 공개 : "테스트 드라이버"에 의해 난과 같은 코드가있을 수 있습니다 실제 테스트 로직 (NUnit과 유사한)을 의미 페이지 자체를 구현 (복잡하고 페이지 레이아웃을 자주 변경할 수 있습니다) 자세한 숨기고 :

public class SearchPageWrapper { 
    ... 
    public void ClickAdvancedSearch() { 
    _browser.Buttons("advSearch").Click(); 
    } 

    public void EnterSearchPhrase(string phrase) { 
    _browser.TextBox(Find.ByName("phrase")).TypeText(phrase); 
    } 
    ... etc ... 
} 

당신은 또한 만드는 새로운 테스트 케이스를 추가하는 것을 쉽게 래퍼의 라이브러리를 구축하고,이 방법을 Wa의 방식에 영향을 미치는 레이아웃 변경을 다루는 것이 덜 고통 스럽다. 주석은 &이 페이지의 요소와 상호 작용한다는 것을 발견합니다.

+0

위의 래퍼를 사용하는 대신 Watin Page를 사용해야합니다. http://watinandmore.blogspot.com/2009/06/introducing-page-class.html –