私は機能テストを書いており、フェードインとフェードアウトするモーダル ウィンドウを扱っています。
表示と 現在 はどう違いますか?
たとえば、私は持っています:
settingsModule.container.displayed and settingsModule.container.present
ここで、settingsModule はモーダル ウィンドウを表します。
モーダル ウィンドウ (Twitter のブートストラップのモーダル) をテストするときは、通常、次のようにします。
def "should do ... "() {
setup:
topMenu.openSettingsModal()
expect:
settingsModule.timeZone.value() == "Asia/Hong_Kong"
cleanup:
settingsModule.closeSettingsModal()
}
def "should save the time zone"() {
setup:
topMenu.openSettingsModal()
settingsModule.timeZone = "Japan"
when:
settingsModule.saveSettings()
then:
settingsModule.alertSuccess.size() == 1
settingsModule.alertSuccess.text() == "Settings updated"
when:
settingsModule.saveSettings()
then:
settingsModule.alertSuccess.size() == 1
cleanup:
settingsModule.closeSettingsModal()
}
と何度も。私のモジュールには、次のものがあります。
void openSettingsModal() {
username.click()
settingsLink.click()
}
void closeSettingsModal() {
form.cancel().click()
}
「クリックするには要素を表示する必要があります」という不満が常にあります。
私の openSettingsModal と closeSettingsModal で、waitFor と時間間隔を組み合わせて、present または not を使用してみました ... わかりません。
任意のポインタをいただければ幸いです。ありがとう!