2010-01-09 3 views
1

일부 페이지를 테스트하기 위해 htmlunit을 사용하고 있으며 현재 페이지의 컨텍스트에서 어떻게 javascript 코드를 실행할 수 있는지 알고 싶습니다. 나는 그 문서가 내가 페이지에서 사용자의 행동을 에뮬레이트한다고 말하고 있지만이 방법으로는 작동하지 않는다. ((나는 div에 onclick 속성을 가지고 있는데, 나는 그 click 메서드를 호출하지만 아무 것도하지 않는다. . 그래서 일부 인터넷 검색을했습니다 및 시도) 발생합니다. 내가 처음 스크립트의 인스턴스를 가지고있는 것처럼웹 페이지에서 임의의 자바 스크립트 코드를 실행하는 방법은 무엇입니까?

JavaScriptEngine jse = webClient.getJavaScriptEngine(); 
jse.execute(page, what here?); 

가 보인다,하지만 난 그것을 (오른쪽) 수행하는 방법에 대한 어떤 정보를 발견 한 사람이 공유 할 수 웹 클라이언트 인스턴스에서 필요한 코드를 실행하는 방법을 보여주는 코드 조각

답변

1

webClient이 아닌 페이지에서 executeJavaScript()으로 전화해야합니다.

예 :

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3); 
webClient.setJavaScriptEnabled(true); 
HtmlPage page = webClient.getPage("http://www.google.com/ncr"); 
ScriptResult scriptResult = page.executeJavaScript("document.title"); 
System.out.println(scriptResult.getJavaScriptResult()); 

인쇄 "구글". (나는 당신이 거기에 넣어 몇 가지 더 흥미로운 코드가 거라고 확신 해.) 구글의 예입니다 HtmlUnit과 백엔드 사용 TestPlan에서

1

인용문을 작성한 적이 있는데 어쩌면 대답이 아니 겠지만, 이것은 Selenium IDE에 대한 완벽한 경우와 같습니다.

Selenium IDE는 브라우저에서 재생할 수있는 클릭 수, 입력 및 기타 테스트를 기록하는 Firefox 부가 기능입니다.

+0

을 나는 또한 매우 셀레늄 RC 추천 – slebetman

0

:

GotoURL http://www.google.com/ncr 
set %Title% as evalJavaScript document.title 
Notice %Title% 
관련 문제