0
4

2 に答える 2

1

この線:

browser.a(:text, "/media/remote/edit_source/#{@rep_id}").when_present.click

次の理由で失敗します。

  1. 探しているコンテンツは onclick 属性にあります (テキストではなく)
  2. ロケーターには、2 番目のパラメーターの文字列が渡されます。これは、それと完全に一致するものを探していることを意味します。テキスト/属性の一部のみを使用していることを考えると、正規表現を使用する必要があります。

watir-webdriver を使用している場合は、:onclick 属性による要素の検索がサポートされています。正規表現を使用して、:onclick 属性を部分的に一致させることができます。

browser.link(:onclick => /#{Regexp.escape("/media/remote/edit_source/#{@rep_id}")}/).when_present.click

watir-classic (IE テスト用) も使用している場合、上記は機能しません。代わりに、リンクの html を確認できます。html のチェックは watir-webdriver でも機能しますが、:onclick を使用するよりも堅牢性が低くなる可能性があります。

browser.link(:html => /#{Regexp.escape("/media/remote/edit_source/#{@rep_id}")}/).when_present.click
于 2013-10-15T18:51:19.357 に答える