2010-02-12 4 views
0

계속하기 전에 jQuery animate 작업이 완료 될 때까지 대기하는 Visual Studio WebAii Test을 작성할 수 있습니까?jQuery 애니메이션이 완료 될 때까지 WebAii 테스트 대기를 만드는 방법은 무엇입니까?

현재 루프를 사용하여 5 초 동안 일시 중지 중이지만 애니메이션 시간이 변경되면 쉽게 깨지는 경향이 있습니다.

WebAii API에서 일부 대기 메소드를 시도했지만 그 중 아무 것도 기다리지 않는 것 같습니다. 가장 가까운 곳은 Actions.WaitForElement(..)입니다.하지만 움직이는 요소는 이미 DOM에 있으므로 작동하지 않는 것 같습니다. 대기 메서드는 또한 나에게 어둡게 보입니다.

답변

0

jQuery animate() 호출에 콜백 함수를 추가하기 위해 자바 스크립트를 편집 할 수 있습니까? 그렇다면 WebAii API로 쉽게 감지 할 수있는 훅을 만들 수 있습니다. 예를 들어, 애니메이션에 대한 콜백을 사용하여 DOM에 (보이지 않는) 요소를 추가 한 다음 WaitForElement 메서드를 사용하여 해당 요소를 감지 할 수 있습니다. 약간의 진흙탕 그러나 그것은 일할 것이다!

0

애니메이션 요소의 속성을 테스트 할 수 있습니다. 요소가 항상 존재하더라도 애니메이션이 끝나면 속성에 약간의 변화가 있어야합니다. 이것이 어떤 종류의 변화가 될지 모르겠으므로 아래에 일반적인 예를 들어 둡니다.

코드는 WaitForElement와 결합 된 HtmlFindExpression을 사용합니다. 주어진 id ("ctl00_ContentPlaceHolder1_btnAccept_CD")를 가진 엘리먼트가 검출 될 때까지 기다려야한다.

Manager mng = new Manager(false); 
mng.Start(); 
mng.LaunchNewBrowser(BrowserType.InternetExplorer); 
string url = "http://yoururl"; 
mng.ActiveBrowser.NavigateTo(url); 
mng.ActiveBrowser.WaitForElement(
    new HtmlFindExpression("id=ctl00_ContentPlaceHolder1_btnAccept_CD"), 10000); 

이 정보가 도움이되기를 바랍니다.