2016-08-23 3 views
1

나는 그의 문제를 도와달라고 동료에게 질문을 받았지만 나도 그것에 매달려있다.Capybara Cucumber matchers

그는 자신이 가지고있는 목록에서 클릭 가능한 요소를 텍스트로 찾으려고합니다.

목록이 포함되어 그 목록을 통해 반복 할

list = [ 'cat : B', 
     'cat : B1', 
     'cat : BE' 
     ] 

cat : B의 첫 번째 반복 클릭은 예상대로. 다음 반복은 B1 대신 cat : B을 클릭합니다. 사용

코드는 다음과 같습니다 카피 바라 만까지 첫 번째 B로 일치하고있는 요소를 발견의 생각, 대신 B1 또는 BE에 일치되는 것처럼 그건

list.each do |cat_item| 
find('li.category', text: cat_item, :match => :prefer_exact).click 

보인다.

이 방법이 있습니까? 여러 가지 방법을 시도했습니다.

답변

0

: prefer_exact 일치 옵션은 : 텍스트 옵션에 아무런 영향을주지 않습니다 (XPath.is 메서드를 사용하는 선택기 - 필드, : 레이블, : 버튼 등)에만 영향을줍니다. 잠재적으로 레이블 텍스트와 일치하는 문자열을 취합니다). : text 옵션과 정확히 일치 시키려면 Regexp를 전달해야합니다. 즉, B1을 통과 할 때 B와 일치해서는 안되며 실제로 발견 된 요소를 확인하기 위해 발견 된 요소의 텍스트를 인쇄하고 클릭 처리기에서 문제가되지 않습니까?

관련 문제