2013-04-19 3 views

답변

0

셀렌 드라이버를 사용하는 경우 ActionBuilder을 사용할 수 있다고 생각합니다. 그것은 다음과 같습니다 :

within_frame(locator_of_frame_with_map) do 
    map = find(locator_of_map).native 
    page.driver.browser.action.move_to(map, x, y).click.perform 
end 

위의 코드는 초안입니다. 분명히 데모 없이는 작동 코드를 제공 할 수 없습니다.

Capybara 자체에는 특정 좌표에서 클릭하기위한 교차 드라이버 API가 없습니다. 카피 바라의 웹킷 드라이버

+0

셀레늄을 사용하거나 사용하지 않을 경우이 작업을 수행 할 수 없습니다. 또한, CI 서버가 Selenium 사용자가 아니기 때문에 셀레늄 드라이버를 사용할 수 없습니다. – kidbrax

0

, 내가 이것을 사용했습니다 :

javascript_to_trigger_click = <<-JS 
$('#map > div > div:nth-child(1) > div:nth-child(4) > div:nth-child(1)').click(); 
JS 
page.evaluate_script(javascript_to_trigger_click) 

#map는 구글 맵을 포함하는 제 요소입니다.

사이드 노트 그러나 이것에 너무 많은 시간을 낭비했습니다. capybara URL에 테스트 서버를 실행중인 URL을 앱용 Google 콘솔에 사용하도록 설정했는지 확인하십시오. (당신은 capybara에 대해 config.debug = true을 설정하여 URL을 볼 수 있습니다.)

관련 문제