2011-01-07 2 views
1

저는 아약스가 많고 자동화가 필요한 사이트가 있습니다. 그러나 사이트의 아약스 부분을 제대로 기록 할 수 없습니다. 나는 waitfor 키워드를 시도하고 실패했다. 나는 또한 다음 웹 사이트 http://www.ibm.com/developerworks/opensource/library/os-webautoselenium/index.html을 방문했지만 MyEclipse에 코드를 적용하는 방법을 설명하지 못했습니다.Selenium을 사용하여 아약스 기반 사이트를 기록하는 방법

아약스 애플리케이션을 테스트하는 방법에 대한 훌륭한 자습서가 있습니까?

미리 감사드립니다.

답변

2

아약스는 약간의 혼란과 셀레늄으로 작업합니다. 이 질문에 대한 답변은 쉽지 않습니다하지만 난 몇 가지 조언을 ..

당신은 행동/업데이트 등을 기다릴 이러한 루프를 많이 사용해야합니다

:

 for (int second = 0;; second++) { 
     if (second >= 60) log.error("Timeout (60 seconds) while submitting request"); 
     try { if (selenium.isElementPresent("elementID")) break; } catch (Exception e) {} 
     try { 
      Thread.sleep(1000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

은 또한 아약스 페이지가 활성화 예를 들어 TextBox에 입력 된 문자를 여러 번 트리지 한 다음 selenium.type("elementID", "12345");을 입력하면됩니다. typeKeys("elementID", "12345");은 이벤트를 발생시킵니다.

FireFox 및 방화 광, 자바 스크립트 디버거를 사용하여 백그라운드에서 무슨 일이 일어나고 있는지 분석하십시오. Chromes Inspect 디버거를 사용하는 것을 선호합니다. 특정 요소에 대해 트리거 된 내용을 개발자에게 문의하십시오.

두 번째로 최신 버전의 Selenium 2.0을 살펴볼 수 있습니다. 웹 드라이버는 Ajax 요청을 훨씬 잘 처리하기로되어 있지만 아직 작업 할 시간이 없다.

간단히 말해서 코드를 많이 작성하고 기록 된 부분을 수정해야합니다. 일부 유형의 Ajax를 더 잘 처리 할 수있는 상용 제품이 있으면 제대로 작동하지 않을 수 있습니다.

0

XPath를 사용 중이라면 작동하지 않습니다. CSS 로케이터를 사용해보십시오. RC에서 Sizzle.js 로케이터를 사용하고 있으며 모든 Ajax 요소에서 잘 작동합니다.

IDE의 경우 사용 가능한 플러그인을 찾으러 가거나 직접 작성하고 user-extensions.js 옵션을 사용하여 플러그인 할 수 있습니다.

관련 문제