2016-04-05 24 views
1

私はモーダルを持っているとしましょう。Watir Webdriver:モーダル外をクリックしても閉じないとテストする

@my_modal = @brower.div(id: 'TheModal')

のは、私は、モーダルの外側をクリックするステップを定義するために今すぐモーダル(この例では、キュウリ)

Given I ... 
When I ... 
Then "My Modal" is visible 
When I click outside the modal 
Then "My Modal" is visible 

が現れ、テストを持っているとしましょう:

When /^I click outside the modal$/ do 
    # what do I put here? 
end 

アイデア?

How to simulate mouse click on blank area in website by Selenium IDE?に基づいて@browser.element(xpath: '//html').clickを試しました。エラーが発生しましたSelenium::WebDriver::Error::UnknownError: unknown error: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.

答えて

2

Watirでは、表示されている要素のみをクリックすることができます。ほとんどのモーダル実装では、モーダル内の要素のみが可視と見なされます。

試してみてください。@browser.element.wd.click

問題が解決しない場合は、HTMLを共有することに役立つ可能性があります。

2

私はこの@browser.driver.action.move_to(@browser.div(id: 'js-overlay').wd, 0, 0).click.performになりました。

バックグラウンドにすべてがぼやけていたdivがありました。div#js-overlay。通常は `@ browser.div(id: 'js-overlay')を使ってそれをクリックしても機能しませんでした。それはモーダルがあったところで右クリックしたので、左上をクリックすると余分な仕事がありますその特定のdivの(ジャスティンコのおかげで!)。

+0

あなたが思いついた解決策を共有するための誇り、私はあなたがこのようなことをする必要がある唯一の人であることを疑う(または、逆に、モーダルの外側をクリックするとそれを閉じ、助言モーダルの別の一般的パラダイム) –

関連する問題