문제

레일에 오이로 JS 확인 대화 상자를 테스트하려고합니다. Window.onbeforeunload 이벤트 핸들러가 있습니다. 페이지에서 탐색하려고하면 확인 대화 상자가 표시되지만 테스트 방법을 알지 못합니다. 누구 든지이 작업을 수행 할 수있는 방법에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

경고/확인을 캡처하는 데 사용할 수있는 다양한 기능이 있습니다. Webrat Selenium 구현과 직접 사용할 수는 없지만 Webrat의 사용할 때 config.mode = :selenium 다음과 같이 사용할 수 있습니다.

Then /^I should see a JS alert$/ do
    selenium.is_alert_present.should be_true
end

# or

Then /^I should see a "Are you sure?" JS confirm dialog$/ do
    selenium.get_alert.should eql("Are you sure?")
end

# you can also click the OK/Cancel buttons on confirm boxes with

selenium.chooseOkOnNextConfirmation();
#and
selenium.chooseCancelOnNextConfirmation();

아마도 가장 큰 테스트는 없지만 아이디어를 제공합니다. 내부적으로 셀레늄은 alert () 및 volict () 함수를 재정의 하여이 정보를 캡처 할 수 있습니다.

더 많은 문서를 찾을 수 있습니다 셀레늄 FAQ 또는 보석 서버에서

다른 팁

메소드 정의를 참조하십시오 http://selenium-client.rubyforge.org/classes/selenium/client/idiomatic.html

오이 단계 정의에서 셀레늄 도우미 물체로 그들을 호출 할 수 있습니다.

Then /^I should see a JS confirm dialog saying "([^\"]*)"$/ do |statement|    
  selenium.confirmation.should eql(statement)                               
end

오이와 함께 Webrat 또는 Selenium을 사용하여이를 테스트 할 수 있습니다.

내 생각에 시뮬레이션 된 브라우저 또는 자동 브라우저 테스트를 원할 것입니다.

그러한 경우 Webrat 또는 Webrat :: Selenium 또는 Simply Selenium을 오이와 함께 사용할 수 있습니다.

이전에 Selenium과 Cucumber를 사용하여 이것을 테스트했지만 코드를 찾을 수는 없으며 게시물을 편집 할 것 같습니다.

HTH

사용하는 것이 좋습니다 나사 단위 페이지에서 JavaScript 동작을 테스트합니다. 나사 단위를 통합하고 명령 줄 및 브라우저 JS 테스트에 대한 지원을 추가하는 Relatsance의 Blue-Ridge 플러그인을 살펴볼 수도 있습니다. 관련성/블루 릿지 아래 Github에서 찾을 수 있습니다. (나는 아직 반복해서 하나 이상의 링크를 게시 할 수 없습니다 :(

나사 단위 및/또는 블루 릿지를 사용하여 오이 테스트를 주도하는 것은 흥미로운 운동 일 것입니다.

이 요점 Capybara 드라이버와 함께 Rails 2 및 3에서 대화 상자를 확인하는 단계가 있습니다. 경고 상자에 쉽게 적응할 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top