2010-06-04 10 views
11

셀레늄 - rc와 자바 클라이언트를 사용하여 사용자가 마우스를 움직일 때 열리는 메뉴를 테스트하고 싶습니다. 마우스가 메뉴를 떠날 때 닫힙니다. 이것은 자바 스크립트없이 :hover CSS를 사용하여 이루어집니다.Selenium and : hover css

셀렌의 경우 마우스 동작에 대한 여러 가지 방법이 있지만 그 중 어떤 것도 CSS :hover 스타일을 트리거하는 것으로 보이지 않습니다.

Google은이 문제 만 가지고 혼자가 아니라는 것을 보여 주지만 해결 방법은 없습니다. 일부 사람들은 자바 스크립트 코드를 추가해야한다고 말합니다. 그러나 셀레늄 RC에서는 사용자 기여 JavaScript 코드에 대한 적절한 위치가 있다고 생각하지 않습니다. 불행하게도

selenium.mouseHover("css=div#navi_settings"); 
assertTrue(selenium.isVisible("//a[contains(text(), 'Text on link')]")); 

, 아직 존재하지 않는 moveHover() 방법 : - 일반적으로 눈에 보이지 않는 - a 요소

내 소원은 다음 코드 사업부 번호의 navi_settings가 들어있는 메뉴를 포함 주어진 작동하는 것입니다.

+0

이 문제를 해결 하시겠습니까? – aradhak

+0

수동으로 테스트 :-(. –

답변

0

mouseOver 메서드는 :hover 가상 클래스를 활성화합니다.

+0

언제부터? Core v2.0 [a2]가 포함 된 selenium server v2.0 [a2]에서 작동하지 않습니다. 적어도 firefox 3.5에서는 작동하지 않습니다. –

+0

그런 다음 몇 가지 javascript를 사용하여 그 중 하나의 요소를 클릭해야 메뉴를 볼 수 있습니다. 그 일을 내가 무슨 짓을했는지, 그리고 그것은 잘 작동했다. 또는 셀레늄 메일 링리스트에 질문을 시도하십시오 . – techpeace

+0

메일 링리스트 : 확인, 요점은 있지만 메뉴 가시성은 CSS가 잘 작동하고 있습니다. 메뉴 항목을 클릭하면 문제가되지 않습니다. 사용자가 메뉴 위로 마우스를 가져갈 때 * 가시성 자체를 테스트하고 있습니다. CSS 대신 자바 스크립트를 사용하도록 응용 프로그램을 변경하는 것은 문제가되지 않습니다. –

1

Selenium 인터페이스를 사용하여이 작업을 수행 할 수있는 방법을 찾지 못했습니다. 당신은 셀레늄 2로 업그레이드 할 수 있다면 내가 셀레늄 2를 사용하고 있기 때문에, 나는 귀하의 경우에는 http://groups.google.com/group/selenium-developers/msg/8210537dde07155f?pli=1

당과 같이 WebDriver API를 사용할 수 있습니다, 이런 일이 작동 할 수 있습니다 : 당신이 어떻게했는지

WebDriver webDriver; 
... 
((RenderedWebElement) webDriver.findElement(By.cssSelector("div#navi_settings"))).hover(); 
+1

This Selenium 기본 이벤트가 지원되는 플랫폼에서 작동합니다 (Linux 및 Windows). Mac에서는 현재 운이 좋지 않습니다. https://groups.google.com/group/webdriver/browse_thread/thread/c08444af61cc2898 – John