rails selenium cucumber integration-testing webdriver capybara

selenium - rails - Pepino y Capibara, haciendo clic en un elemento sin enlace o botón



selenium rails (2)

Estoy intentando probar un editor en el lugar usando Cucumber / Capybara / Selenium stack, pero mi problema es que el editor se activa haciendo clic en un div y no en un enlace o botón. Parece que no puedo entender cómo lograr que Capibara haga esto. ¿Hay alguna forma de hacer esto?


Además de poder hacer clic en elementos de botón como @Jim Mitchener explicó, también puede hacer clic en una parte de un texto de la siguiente manera:

# WhenI click on the text "Sign in" When(/^I click on text "(.*?)"$/) do |text| click_text(text) end def click_text(text) elem = find(:xpath, "//*[contains(translate(text(), ''#{text.upcase}'', ''#{text.downcase}''), ''#{text.downcase}'')]", match: :first, wait: false) scroll_to(elem, -200) elem.click end

Esta función auxiliar hace lo mismo que find(selector).click , encuentra el elemento de texto.

Encontré este artículo muy bueno, explica diferentes tipos de pasos que puedes escribir en pepino.


Puede hacer clic en un elemento a través de Capybara::Element.click . web_steps.rb siguiente para esto en mi web_steps.rb para hacer clic en divs.

When /^(?:|I )click within "([^"]*)"$/ do |selector| find(selector).click end

También hay Element.trigger(''mouseover'') que parece habilitar el vuelo Element.trigger(''mouseover'') aunque no funcione con Selenium.

También es muy probable que necesite decorar su característica / escenario con la etiqueta @javascript proporcionada por @javascript .