2016-04-05 12 views
1

Diyelim ki bir modelim var.Watir Webdriver: Bir modelin dışına tıklamak onu kapatmıyor

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

ı modal dışında tıklayın adım tanımlamak için modal getirir bir test (bu örnekte salatalık) Şimdi

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

var diyelim:

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

Herhangi bir fikrin var mı?

How to simulate mouse click on blank area in website by Selenium IDE?'a göre @browser.element(xpath: '//html').click'u denedim. Selenium::WebDriver::Error::UnknownError: unknown error: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.

cevap

2

Hata iletisini aldım Sadece görünür olan öğeleri tıklatmanıza izin verir. Çoğu modsal uygulama için, yalnızca model içindeki öğeler görünür olarak kabul edilir.

Dene: O çalışmazsa html paylaşmaya yardımcı olabilecek @browser.element.wd.click

.

2

Bu @browser.driver.action.move_to(@browser.div(id: 'js-overlay').wd, 0, 0).click.perform ile bitti.

Arka planda, her şeyi susturan bir div vardı, div#js-overlay. normalde '@ browser.div (id:' js-overlay ') ile tıklanmadı, modalın olduğu yerde sağ tıklattı, bu yüzden sol üstte tıklamak için fazladan iş var. Bu özel div (Justin Ko'ya teşekkürler).

+0

Bulunduğunuz çözümü paylaşmak için kudos, bu tür bir şeyi yapması gereken tek kişi siz olacağınızdan şüpheliyim (ya da tersine, modalın dışına tıklamak, tavsiye makamı için başka bir ortak paradigma) –