programing

와틴인가 셀레늄인가?

iphone6s 2023. 4. 22. 09:06
반응형

와틴인가 셀레늄인가?

곧 프레젠테이션의 자동 테스트를 코드화할 예정입니다.다들 와틴이랑 셀레니엄을 추천하는 것 같아요.ASP의 자동 테스트에는 어떤 것이 좋습니까?NET 웹 폼?다음 제품 중 어떤 것이 더 잘 작동합니까?

덧붙여서, WatiN 2.0은 2008년 3월부터 CTP를 실시하고 있는 것을 알 수 있었습니다만, 그것이 우려되는 것입니까.

저는 현재 2009년 1분기 어딘가에서 WatiN 2.0 베타 릴리스를 열심히 준비하고 있습니다.현재 CTP 2.0 버전으로의 주요 업그레이드이며 기본적으로는 버전 1.3.0에서 제공하는 IE 자동화와 동일한 기능을 제공합니다.

그러니까 걱정할 필요 없어요.


WatiN 드 wat wat WatiN

커뮤니티의 계속적인 개선과 지원을 받을 수 있는 프레임워크에 장기적인 투자를 검토하고 있다면 Selenium이 최선의 선택일 것입니다.예를 들어, Matt Raible 블로그에서 우연히 다음과 같은 정보를 얻었습니다.

금요일 현재 구글은 50개 이상의 팀이 내부 셀레니엄 팜에서 하루에 51,000개 이상의 테스트를 실행하고 있습니다.이러한 테스트의 96%는 Selenium RC 및 Farm 기계에서 올바르게 처리됩니다.나머지 4%는 부분적으로 RC 버그에 기인하며, 일부는 테스트 오류에 기인하지만, 원인을 분리하는 것은 어려울 수 있습니다.셀레늄은 구글 내 웹 어플리케이션 기능 테스트의 주요 기술로 채택되었습니다.그게 좋은 소식이에요.

저는 최근에 셀레니엄 미팅에 참석해서 구글이 셀레니엄을 개선하고 Simon Stewart가 개발한 자동화된 테스트 툴인 WebDriver와 통합하기 위해 많은 자원을 투입하고 있다는 것을 알게 되었습니다.WebDriver의 주요 장점 중 하나는 Javascript 어플리케이션으로 브라우저 내에서 실행되는 것이 아니라 브라우저 자체를 제어한다는 점이며, 이는 "같은 원점" 문제와 같은 주요 장애물이 더 이상 문제가 되지 않는다는 것을 의미합니다.

둘 다 테스트해서 WaTiN으로 결정했어요.다른 사람들이 지적한 것처럼 Selenium에는 WaTiN에는 없는 훌륭한 기능이 몇 가지 있습니다.그러나 Selenium을 작동시키는 데 문제가 있어 테스트 실행 시 WaTiN보다 확실히 느려졌습니다.내 기억이 맞다면, 우리가 마주친 셋업 문제는 Selenium이 실제 브라우저를 제어하는 별도의 앱을 가지고 있다는 사실에서 비롯되었고, WaTiN은 모든 것을 처리했다.

둘 다 시험해 봤는데 이게 내 첫 번째 생각인데...


와틴

더 굿

  • 고속 실행
  • 스크립트 작성 툴은 독립된 프로젝트입니다.가 알고 있는 것은 왁스(Excel 기반, CodePlex 기반)와 WatiN 테스트 레코드(SourceForge 기반)입니다.Selenium IDE만큼 견고하지 않습니다.
  • IE의 서포트는 매우 우수합니다.실행 중인 인스턴스와 연결 및 분리할 수 있습니다.네이티브 창 핸들 등에 액세스 할 수 있습니다(아래 스크립트 예 참조).
  • NuGet 패키지로 쉽게 실행할 수 있습니다.NET, Visual Studio 스타일 환경 및 최신 상태를 유지합니다.

더 배드

  • WatiN(watin xyz)을 검색하면 Google이 "watir xyz" 대신 "watir xyz"를 권장하는 경우가 많습니다.서류는 그렇게 많지 않아요.
  • (문서)가 거의 없기 때문에 혼란스럽습니다.예를 들어 처음에 보면 CSS 셀렉터에 대한 네이티브지원이 없는 것처럼 보일 수 있습니다.특히 'WatiNCSS Selector'와 같은 확장 라이브러리가 있기 때문에Extensions' 및 대체 기술에 대한 많은 블로그 기사(페이지에 jQuery/sizzle 삽입 등)Stack Overflow에서 원어민 지원이 있다는 Jeroen van Menen의 코멘트를 찾았습니다.적어도 리드 개발자는 스택 오버플로우(Stack Overflow)에 시간을 할애하고 있습니다.
  • 네이티브 XPath 지원 없음
  • 즉시 사용할 수 있는 원격 실행/그리드 기반 실행이 없습니다.

스크립트 예시(C#).셀레늄과 함께라면 안 돼 (적어도 내가 아는 한)

class IEManager
{
    IE _ie = null;
    object _lock = new object();

    IE GetInstance(string UrlFragment)
    {
        lock (_lock)
        {
            if (_ie == null)
            {
                var instances = new IECollection(true);  //Find all existing IE instances
                var match = instances.FirstOrDefault(ie=>ie.Url.Contains(UrlFragment));
                _ie = match ?? new IE();
                if (match==null)  //we created a new instance, so we should clean it up when done!
                    _ie.AutoClose = true;
            }
        }

        return _ie;
    }
}

셀레늄

  • WatiN보다 느립니다(특히 새로운 프로세스를 작성해야 하기 때문에).
  • 내장 CSS 셀렉터/XPath 지원
  • Selenium IDE는 좋습니다(좋다고는 할 수 없지만, 클래스에서는 최고입니다!).
  • 보다 자바적인 느낌이 듭니다.넷다운...그러나 실제로는 프로그래밍 언어에 의존하지 않습니다.모든 명령어는 프로세스 외 '드라이버'로 전송됩니다.드라이버는 브라우저 인스턴스의 '호스트' 프로세스입니다.모든 통신은 프로세스 경계를 넘어 직렬화/직렬화되어야 하며, 이는 WatiN과 관련된 속도 문제를 설명할 수 있습니다.
  • 분리 프로세스 - "드라이버" 및 "제어"는 보다 견고성, 복잡성 등을 의미할 뿐만 아니라 그리드/분산 테스트 환경도 쉽게 만들 수 있습니다."배포" 메커니즘(즉, 드라이버와 제어 간의 통신)이 WebSphere 또는 기존의 견고한 메시지 큐 매니저를 통해 이루어졌으면 좋았을 것입니다.
  • Chrome 및 기타 브라우저를 바로 지원합니다.

그래도 결국 WatiN을 선택하게 되었습니다.작은 스크린 스크래핑 어플리케이션을 주로 쓰고 LINQPad를 개발에 활용하고 싶습니다.리모트 IE 인스턴스(직접 생성하지 않은 인스턴스)에 접속하는 것은 큰 장점입니다.기존 케이스에서 빈둥거릴 수 있어요그럼 대본 좀...다시 만지작거리는 등이것은 Selenium으로 하기에는 더 어렵지만, 그 동안 제가 직접 브라우저를 만지작거릴 수 있는 스크립트에 "일시정지"가 포함되어 있을 수 있습니다.

가장 큰 차이점은 Selenium이 다양한 브라우저를 지원한다는 것입니다(IE 또는 FF뿐만 아니라 http://seleniumhq.org/about/platforms.html#browsers 참조).

또, Selenium에는 리모트 컨트롤 서버(http://seleniumhq.org/projects/remote-control/),가 있습니다.이것은 테스트 코드가 실행되고 있는 머신과 같은 머신으로 브라우저를 실행할 필요가 없다는 것을 의미합니다.따라서 웹 앱을 테스트할 수 있습니다.다양한 OS 플랫폼에서 사용할 수식을 실시합니다.

일반적으로 셀레늄을 사용하는 것을 추천합니다.몇 년 전에 WatiN을 사용한 적이 있습니다만, 안정성에 만족하지 못했습니다(아마도 개선되었을 것입니다).Selenium의 가장 큰 장점은 웹 앱을 테스트할 수 있다는 것입니다.를 참조해 주세요.

둘 다 아니다.코이푸를 사용하세요.셀레늄을 감싼다.내구성이 훨씬 뛰어납니다.https://github.com/featurist/coypu

올리버에게 네 말이 맞아좋아, 왜 더 낫지?개인적으로 IE용 Selenium 드라이버는 특히 매우 취약하다는 것을 알았습니다.Ajax 헤비사이트에서 유닛 테스트용 Selenium 드라이버를 구동할 때 몇 가지 '표준' 드라이버 예외가 발견되었습니다.

테스트 프로젝트로 c#에 스크립트를 쓰고 싶다고 말했습니까?네, 지속적인 빌드 도입 내에서의 수용 테스트.

자, 코이푸는 위의 사항을 다루고 있습니다.셀레늄 포장지로 다음과 같은 테스트 기구를 사용할 수 있습니다.

browser.Visit("file:///C:/users/adiel/localstuff.htm")
browser.Select("toyota").From("make");
browser.ClickButton("Search");

...브라우저(브랜드 변경 가능)를 기동해, 스크립트를 실행합니다.이 기능은 범위 영역과 매우 잘 작동하며 매우 확장 가능합니다.

GitHub, 올비에르, Adrian.에서 브라우저 기반 테스트를 실행하는 가장 좋은 방법이라고 생각합니다., , 루비네임동일, , .capybara

둘 다 써봤는데 둘 다 잘 되는 것 같아요.셀레늄이 아약스의 서포트가 더 좋은 것 같아서 나는 고개를 끄덕인다.WaTiN은 지난 번보다 성숙해졌다고 생각하기 때문에 같은 것을 가지고 있을 것입니다.

가장 큰 것은 어떤 개발 환경에 있고 싶은가?Selenium과 Watin은 녹음기를 가지고 있지만 Selenium은 브라우저에 있고 Watin은 비주얼 스튜디오에 있습니다.+와 -는 둘 다입니다.

지금까지 델은 엔터프라이즈용 솔루션을 제공하기 위한 순수 Microsoft Shop이었습니다.WatiN을 채용했습니다.이것은, 장래에 바뀔 가능성이 있습니다.

최신 정보원으로는 다음과 같습니다.

Microsoft는 SpecFlow와 WatiN(cool BDD-Behavior-Drived Development)을 조합한 BDD-Primer를 MSDN Magazine 12/2010에 게재했습니다.저자인 Brandon Satrom(msft Developer Evangelist)도 2010년 12월에 비디오 웹캐스트에서 상기의 조사 결과를 1:1로 상세하게 가르치고 있습니다.

SpecLog, SpecFlow 및 Team Foundation Server(Acceptance Test Drived Development/BDD)를 사용한 ATDD/BDD 지원에 관한 2011년 4월 4일자 백서가 있습니다.이 백서는 SpecFlow를 구축한 Christian Hassa의 입니다.

저는 와틴을 사용하지만 셀레늄은 사용하지 않습니다.저는 Watin을 빠르게 가동하여 문제가 거의 없었다고 말할 수 있습니다.하고 싶었던 일이 생각나지 않는다.HTH

저는 보통 Selenium을 사용하고 있는데, 주로 테스트 시작점을 기록하는 FireFox용 Selenium IDE 플러그인을 좋아하기 때문입니다.

WebAi를 추천하는 이유는 WebAi가 지금까지 성공을 거두었기 때문입니다.또, WebAi를 사용했을 때, 고민도 적었기 때문입니다.Selenium을 사용해 본 적도 없고 WaTiN을 많이 사용한 기억도 없습니다.적어도 정상적으로 동작할 수 있는 정도는 아닙니다.WebAii에는 독자적인 다이얼로그 핸들러를 실장하기 위한 인터페이스가 있습니다만, Windows 다이얼로그를 적절히 취급하는 프레임워크는 모릅니다.

둘 다 쓸까 생각 중이에요.셀레늄 리코더를 사용해서 FF로 테스트를 해봤어요Watin에서도 같은 일을 하려고 했는데, Watin Recorder(2.0.9.1228)는 저희 사이트에서는 전혀 쓸모가 없습니다.IE6의 사이트를 렌더링하고 있는 것 같습니다.이 때문에, 우리 사이트는 사실상 녹음을 할 수 없게 되었습니다.IE6는 지원되지 않습니다.사용하고 있는 브라우저를 변경할 방법을 찾을 수 없었습니다.와틴 레코더를 하나밖에 못 찾았어요여러 개 또는 최신 상태로 유지되고 있는 것이 있으면 코멘트를 주세요.

파이어폭스용 Selenium Recorder IDE는 사용이 간편하며 테스트를 C#에 포트합니다.이건 별로야.해결 방법이 있는 블로그 게시물을 한두 개 읽었는데도 테스트 스위트를 이식할 수 없었습니다.생성된 코드의 조작이 약간 있습니다.그래도 90%는 효과가 있고, 다른 방법보다 더 좋습니다.

Selenium은 새로운 테스트를 쉽게 작성할 수 있다는 점만으로 우수합니다.IE에는 Firebug에 버금가는 좋은 개발자 툴바가 없기 때문에 저는 파이어폭스에서 개발을 하고 있습니다.Firefox에서 잘 작동하는 레코더를 갖는 것은 큰 보너스입니다.

여기서의 결론은 처칠의 민주주의 명언과 매우 유사합니다. 셀레늄은 자동화된 UI 테스트의 최악의 형태입니다. 다른 사람들은 제외하고요.

옆길로 새더라도 Axe/WatiN을 추천합니다.Axe는 기본 테스트 '언어'에 대한 지식이 없어도 '수동' 테스터에 의해 테스트를 Excel로 작성할 수 있도록 합니다.맞춤형 작업(IE)을 작성하려면 '기술자'가 필요합니다.오늘은 조금 복잡한 테이블 룩업과 상호 참조)를 실시해야 했습니다만, 일단 작성하면, 전문 지식이 없는 테스터에 의한 테스트에 조작을 사용할 수 있습니다.

또한 영국 정부 게이트웨이 프로젝트(6K+ 테스트 자동화)가 최근 Axe/Winrunner에서 Axe/Watin으로 모든 테스트를 일주일 만에 이식했다고 들었습니다.그리고 테스트의 대부분은 매우 복잡합니다.몇 년 전에 연구한 결과...

잠재 고객이 사용할 수 있는 Selenium을 보고 있습니다.그러나 나는 Ax를 '일하는 말' 도구 위에 있는 층으로 살짝 볼 것을 제안한다.

iframes, modal 대화상자 및 교차 도메인 iframes에 액세스해야 하는 경우 WatiN을 사용할 수 있습니다.셀레니엄은 명령 타임아웃 예외를 두는 iframes를 처리할 수 없었다.특히 웹사이트가 Show Modal Dialog 등 IE 고유의 것을 사용하고 있다면 더 많은 것을 할 수 있을 것입니다.WatiN은 모든 것을 잘 처리합니다.교차 도메인 iframe 액세스도 할 수 있습니다.

IE 테스트와 FF 테스트가 필요한 경우 둘 다 수행해야 하지만 프레젠테이션 테스트에만 적합합니다.하나의 요소가 약간 꺼진 상태에서는 요소가 존재하는지 여부는 알 수 없습니다.UI/프레젠테이션 테스트를 위해 인간의 눈을 대체할 수 있는 것은 모릅니다만, 몇 가지 도움이 될 수 있습니다(사용자가 검토할 수 있도록 각 단계에서 페이지의 스크린샷을 촬영합니다).

언급URL : https://stackoverflow.com/questions/417380/watin-or-selenium

반응형