아약스는 약간의 혼란과 셀레늄으로 작업합니다. 이 질문에 대한 답변은 쉽지 않습니다하지만 난 몇 가지 조언을 ..
당신은 행동/업데이트 등을 기다릴 이러한 루프를 많이 사용해야합니다
:
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를 더 잘 처리 할 수있는 상용 제품이 있으면 제대로 작동하지 않을 수 있습니다.