2011-11-22 10 views
11

Próbuję przeszukać w jednym wierszu tabeli dla mojego testu ogórka.Ogórek - Kapibara wyszukaj tekst w wierszu tabeli

I każdy wiersz sformatowane tak:

%tr 
    %td= title 
    %td= complete 
    %td= goal 

i szukam, aby szukać w rzędzie z danego tytułu, i sprawdzić cel

Czy istnieje prosty sposób, aby osiągnąć ten cel?

Odpowiedz

45

Dla każdego, kto natyka się na to pytanie, myślę, że lepszym sposobem na to jest:

find('tr', text: 'My title').should have_content(goal) 

ten sposób nie dodajemy atrybut title, gdy nie jest to naprawdę konieczne

+0

Zgadzam się do tego. – ardavis

+0

o wiele lepiej .. dzięki za to – Orlando

+7

Jest to również dozwolone: ​​'wewnątrz find ('tr', text: 'Mój tytuł') {click_link 'edit'}' –

2

Prawdopodobnie dodać atrybut do td jesteś zainteresowany zrobić coś takiego:.

%tr 
    %td{title= "#{title}"}= title 
    %td= complete 
    %td= goal 

Następnie można odnieść się do tej kwestii na StackOverflow o znalezieniu w określonym elemencie za pomocą CSS.

Capybara, finding within a css element

+1

W zasadzie to zrobiłem - dodałem id do wiersza tabeli, a następnie użyłem go do mojego testu: page.find ("## {my_code}") should have_content (goal) –

Powiązane problemy