2013-03-22 1 views
1

Selenium IDE를 사용하여 계정에 로그인하고, 드롭 다운 위로 마우스를 올려 놓고, 로그 아웃 버튼을 찾는 기본 테스트를 내 보냈습니다. 그런 다음 테스트가 종료됩니다.Selenium Webdriver - Ruby 지원되지 않는 명령

내가보고하고 문제는 테스트가 루비/테스트 : 단위/웹 드라이버에서 내보낼 때 내 이전 명령 waitForPopUp이 지원되지 않는다는 점입니다 및

# ERROR: Caught exception [ERROR: Unsupported command [waitForPopUp | _self | 30000]] 

난에 루비 번역을 필요로 반환 해당 마우스 오버로 이동하십시오. 그렇지 않으면 테스트가 시간 초과되어 오류를 반환하기 때문입니다. 또한 루비 webdriver 명령 목록에 나를 연결할 수 있다면 다시이 문제에 봉착하십시오.

답변

4

Selenium IDE를 사용하여 만든 테스트 케이스를 Ruby와 같은 언어로 내보낼 때 완벽하게 변환되지 않은 명령이 있습니다. waitForPopUp는 이러한 명령 중 하나입니다. 대신 코드에서 변환 할 수없는 행을 찾고 동일한 작업을 수행하는 데 지원되는 명령을 작성해야합니다.

당신은 아마 이런 걸 사용하려면 (테스트되지 않은 코드를!) :

# This code defines the method 
def wait_for_and_switch_to_new_popup(timeout = 30) # seconds 
    Selenium::WebDriver::Wait.new(:timeout => timeout,:message => "Failed to find popup within #{timeout} seconds!").until do 
    @driver.window_handle != @driver.window_handles.last 
    end 
    @driver.switch_to.window(@driver.window_handles.last) 
end 

... 

# This calls the method to wait for and switch to the new popup. 
# Use this inside your code to tell the browser to switch to the new popup 
wait_for_and_switch_to_new_popup 

는 셀레늄 WebDriver에 대한 루비 바인딩합니다 (DSL)에 대한 자세한 내용은, 당신은에 그들에 대해 배울 수 있습니다 공식 Wiki 페이지 : http://code.google.com/p/selenium/wiki/RubyBindings

관련 문제