2014-12-23 3 views
0

iframe에 버튼이 포함 된 맞춤 팝업 IE 창이 있습니다. 버튼을 클릭 할 수 없습니다. iframe을 사용하는 방법을 알고 있지만이 창으로 전환 할 수 없습니다. 창 제목과 URL이 있습니다. Watir : IE 팝업 창에서 버튼을 클릭하는 방법

나는이 방법을 썼다 :

def confirm_ok 
    self.in_iframe(:id => 'frmMain') do |frame| 
     self.button_element(:id => 'btnOK', :frame => frame).click 
    end 
    end 

을하지만이 오류 얻을 : 나는 Watir과, PageObject을 사용

Watir::Exception::UnknownFrameException: unable to locate iframe using {:id=>"frmMain", :tag_name=>"iframe"} 

합니다. IE에서 시나리오를 실행하십시오.

Watir과의 방법은 작동하지 않습니다 : 당신은 두 개의 별도의 문제가 가장 잘 내가 말할 수있는

browser.window(:title => "annoying popup").use do 
    browser.button(:id => "close").click 
end 

나는 오류를

NoMethodError: undefined method `window' for #<PA_Main:0x33f6780> 
+1

Watir과 :: 브라우저 클래스는 윈도우 메쏘드를 가지고 있으며, 브라우저의 서브 클래스 인 PA_Main인가, 아니면 잘못된 것을 가리키는 브라우저 변수입니까? – titusfortner

+0

PA_Main은 메인 페이지의 클래스입니다. 예를 들어 일부 항목을 삭제하려고하면 IE 팝업 창이 나타납니다. 그리고 OK 버튼을 클릭해야합니다. 이 크기 조정이 불가능한 일반적인 페이지이기 때문에 팝업 창의 클래스도 있습니다. Watir 창이 작동하지 않거나 잘못 사용했습니다. –

답변

1

를 얻을.

먼저 브라우저 변수를 페이지 개체 인스턴스로 설정하는 방법에 대해 잘 모릅니다. Page Object Module은 읽을 수있는 특성으로 browser을 확실히 설정합니다.

따라서 코드가 import PageObject 인 클래스에 속하면 browser.window(...)을 잘 처리 할 수 ​​있어야합니다.

클래스 외부의 코드를 사용하는 경우 Watir :: Browser 인스턴스에 액세스 할 수있는 범위에 있는지 확인해야합니다. 당신이 페이지 개체를 정의한 경우, 당신은 그것을 좋아 사용할 수 있습니다 my_page_object.browser.window(...)

둘째 - iframe을 사용 창 사용과 결합되어야한다 당신이 묘사를 기반으로 :

browser.window(title: "annoying popup") do browser.iframe(id: 'frmMain').button(id: "close").click end

관련 문제