Pour ce qui semble être une question simple, je suis sur cette question depuis très longtemps et je n'arrive pas à trouver quoi que ce soit sur Google. J'ai ce bouton je dois cliquer qui n'a pas d'identifiant mais une classe est incluse
<button class="filter-case-studies" onclick="initBootpag(filterForContentType('CASE STUDIES', searchHits))" type="button">
<b>CASE STUDIES</b>
(2)
</button>
J'ai essayé d'utiliser click_on
qui, je le sais maintenant, ne concerne que les liens et les boutons, donc cela ne fonctionnera bien sûr pas. C'est ce que j'ai jusqu'ici:
When(/^I filter the results to only see case studies$/) do
click_on('filter-case-studies')
end
J'ai aussi essayé page.find('filter-case-studies').click
, cela aussi ne fonctionne pas.
page.find(:class, 'filter-case-studies').click
transfère à: css, donc cela a également échoué pour moi.
Est-il impossible de cliquer sur un élément en fonction du nom de la classe dans Capybara?
Merci d'avance pour l'aide.
La façon habituelle de le faire à Capybara est
find('button.filter-case-studies').click
Dans les versions relativement récentes de Capybara, vous devriez aussi pouvoir faire
click_on(class: 'filter-case-studies')
find('.filter-case-studies').click
comme recommandé ici https://robots.thoughtbot.com/write-reliable-asynchronous-integration-tests-with-capybara#find-the-first-matching-element