2010-06-08 5 views
1

Watir을 사용하여 회귀 테스트 일부 변경 : 메뉴가 테이블 테이블 인 일반적인 이전 스타일 웹 페이지 메뉴에서 행을 '클릭'하고 싶습니다. 이 특정 예제에서는 표 셀에 메뉴 항목이 포함되어 있으며 한 셀만 구성된 행에는 onclick 처리기가 있습니다. /ruby/lib/ruby/1.8/rexml/parsers/xpathparser.rb : 나는Watir에서 특정 테이블 셀을 찾는 방법

cell = browser.element_by_xpath("//div[@id='Menu']/descendant::td[text()='New!'") 

부모 행을 얻기 위해 셀을 사용하지만, 내가 메시지를

C를 얻을 수 있다고 생각 330 : '술어'에서 정의되지 않은 방법 '[]'닐의 경우 : NilClass (NoMethodError)

내게 아무 의미

.

+1

관련 HTML을 게시하십시오. 오류 메시지는'nil []'을하고 있다고 말한다. 또한 열어 본'['를 잊어 버린 것처럼 보입니다. –

답변

1

우리는 정말 답이 일반적으로 테이블을 다룰 수있는 몇 가지 방법이있다 말하기

을 부여 할 수 있습니다 전에 전에 자세한 내용이 필요합니다. 행과 열 번호가 항상 동일하지만 절대 그렇지 않은 경우 절대 인덱스를 사용할 수 있습니다.

행에 어딘가에 알려진 텍스트가 있고 셀의 열이 알려진 경우 정규 표현식을 사용하여 알려진 (고유 한) 텍스트가있는 행을 식별 한 다음 행에있는 '열'을 통해 필요한 셀을 식별하십시오.

browser.row (텍스트,/내 검색 텍스트 /). 세포 (: 인덱스, 2) 정규식에 의해 일치하는 텍스트가 포함 된 행의 # 2 셀은

1

cell = browser.div(:id,'Menu').cell(:text,'New!') 
cell.click 
시도

그리고 어쩌면 당신은 '닫기'를 잃었을까요?

cell = browser.element_by_xpath("//div[@id='Menu']/descendant::td[text()='New!']") 
관련 문제