Cucumber / Capybara / Seleniumスタックを使用してインプレースエディターをテストしようとしていますが、問題は、リンクやボタンではなく、divをクリックしてエディターがアクティブ化されることです。カピバラにこれをさせる方法がわからないようです。これを行う方法はありますか?
17025 次
2 に答える
63
を介して要素をクリックできますCapybara::Element.click
。web_steps.rb
divをクリックするために、これに以下を追加します。
When /^(?:|I )click within "([^"]*)"$/ do |selector|
find(selector).click
end
Element.trigger('mouseover')
Seleniumでは機能しませんが、ホバーを有効にするように見えるものもあります。
@javascript
また、カピバラが提供するタグで機能/シナリオを装飾する必要がある可能性が非常に高くなります。
于 2010-10-08T10:30:55.733 に答える
0
@Jim Mitchenerが説明したようなボタン要素をクリックできることに加えて、次の方法でテキストの一部をクリックすることもできます。
# 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
このヘルパー関数は、と同じことをfind(selector).click
行い、テキスト要素を検索します。
この記事はとても良いと思いました。キュウリで書くことができるさまざまな種類のステップについて説明しています。
于 2018-03-16T15:36:51.760 に答える