2009-10-20 3 views
14

아이디, 텍스트 또는 제목 대신 클래스 이름을 사용하여 링크를 따라갈 수 있습니까? 나는 (? 하하, 오이 내부 그는) 다음과 같은 HTML 코드가 주어 :오이/Webrat : CSS 클래스의 링크를 따르십니까?

<div id="some_information_container"> 
    <a href="edit" class="edit_button">Translation here</a> 
</div> 
  • 내가 내 테스트에서 번역 값을 걱정해야 할 것 때문에 텍스트가 일치하지 않으을
  • 내 버튼이 모두 같은 스타일로 보이게하고 싶기 때문에 CSS 클래스를 사용합니다. 나는 그들 중 일부는 완벽하게 컨테이너와 링크 클래스

통해 식별되기 때문에, 모든 단일 링크에 ID를 할당하고 싶지 않은

  • 나는 오이/Webrat 놓친 있나요? 아니면 더 나은 방법으로 이것을 해결할 충고가 있습니까? 여러분의 도움과 안부를위한

    감사합니다,

    편집 : 나는이 주제에 대한 권리 here 일 흥미로운 토론을 찾을 수 - 지금 개방 문제가 남아있을 것으로 보인다. 다른 해결책이 있습니까?

  • +0

    Ruby 태그가 도움이 될 것입니다. –

    +0

    Ruby 태그 인 Brian을 추가했습니다. – Jared

    답변

    4

    는 여기에 내가 오이 그것을 어떻게,의 IT가 도움이되기를 바랍니다. 단계 정의의 #는 CSS가 무슨 일이 일어나는지 이해하는 데 도움이됩니다. 이 내용은 ID와 함께 작동

    아니에요 클래스 이름

    단계 정의

    Then /^(?:|I)should see ([^\"]*) within a div with id "([^\"]*)"$/ do |text, selector| 
        # checks for text within a specified div id 
        within "##{selector}" do |content| 
        if defined?(Spec::Rails::Matchers) 
         content.should contain(text) 
        else 
         hc = Webrat::Matchers::HasContent.new(text) 
         assert hc.matches?(content), hc.failure_message 
        end 
        end  
    end 
    

    기능

    Scenario Outline: Create Project 
        When I fill in name with <title> 
         And I select <data_type> from data_type 
         And I press "Create" 
        Then I should see <title> within a div with id "specifications" 
    
    Scenarios: Search Terms and Results 
        | data_type | title  | 
        | Books  | A Book Title | 
    
    0

    WebRat API에 익숙하지 않지만 DOM 조회를 사용하여 찾고있는 클래스의 참조 ID를 가져 와서 click_link 함수에 전달하면 어떨까요?

    다음은 클래스별로 항목을 검색 할 수있는 자바 스크립트에 대한 링크입니다. http://mykenta.blogspot.com/2007/10/getelementbyclass-revisited.html

    이제 자바 스크립트를 사용하여 임의의 ID로 변경 한 다음 JavaScript를 클릭하면됩니다.

    어느 쪽이든, 그것은 getbyclass 함수를 포함하도록 이름의 검소한 토론이 해결 될 때까지 작동합니다.

    0

    have_tag는 적합합니까?

    have_tag ('a.edit_button')

    3
    여기

    클래스 이름을 가진 요소 내에 텍스트를 주장하는 방법이다 "edit_botton"의

    Then I should see "Translation here" within "[@class='edit_button']"