2014-11-18 2 views
0

고유 ID가있는 버튼을 클릭했지만 아주 멀리 가지 않으면 레이블이 변경된다는 것을 주장하려고합니다. 사용하고있는 응용 프로그램은 함수와 레이블을 연결 한 행에 id를 할당합니다. 지금까지 행 ID를 사용하여 버튼을 통해 상태를 수정, 삭제 및 업데이트 할 수 있지만 레이블 변경을 주장 할 수는 없습니다.루비에 숨겨진 값을 주장하려고 시도했습니다.

ID를 추출하는 데 사용하는 코드는 다음과 같습니다.

@@grabelement = $browser.hidden(:name, "contentHeadingID") 
@@id = @@grabelement.value 
puts @@id 
나는 그 상태 라벨은 동일한 코드 구조

<input type="submit" name="publish" value="Change" class="btn btn-mini btn-secondary" style="float:right"> 
<input type="hidden" name="contentHeadingID" id="8" value="8"> 
<input type="hidden" name="published" id="Yes" value="Yes"> 

에에 싸여

form_element = $browser.hidden(:name => 'contentHeadingID', :value => "#{@@id}").parent 
form_element.button(:value => 'Change').click 

표시된 상태 라벨을 업데이트하는 버튼을 클릭 아래 코드를 사용하고

변경시 ID 및 값이 No로 업데이트되고 레이블이 게시되지 않음에서 게시 됨으로 변경됩니다 (반대의 경우도 마찬가지 임)

내가 시도한 코드는 다음과 같습니다.

if 
form_element = $browser.hidden(:id => 'Yes', :value => "#{@@id}").parent 
form_element.id(:value => 'Yes') == true 
puts "Published status updated" 
else 
puts "failed" 
end 

어떤 도움 난 당신이 form_element이 ID로 숨겨진 요소가 포함되어있는 경우 "아니오", 값 "아니오"하고 이름이 "게시"확인하고자하는 생각

+0

"라벨"로 어느 쪽을 언급하고 있습니까? 라벨 요소가 보이지 않습니다. 레이블이 Unpublished/Published 사이에서 변경되었다고 가정하면 숨겨진 요소의 name 특성을 지정하려고합니다. ''? –

+0

안녕하세요 저스틴, 나는 분명하지 않았습니다. 하지만 예, 이름이 게시 된 항목입니다. id & value = 'yes'또는 'no'입니다. – Cantorion

답변

0

좋은 것입니다. 당신은 특정 요소와 일치하는 로케이터를 만들고이 존재하는지 확인할 수 있습니다 : 당신이 뚜렷한 없을 것 숨겨진 요소 때문에 .exists? 대신 present? 또는 visible?를 사용할 필요가

form_element = $browser.hidden(:id => 'Yes', :value => "#{@@id}").parent 
if form_element.hidden(:id => 'No', :value => 'No', :name => 'Published').exists? 
    puts "Published status updated" 
else 
    puts "failed" 
end 

참고.

관련 문제