2015-02-08 4 views
2

В моем тестовом примере, используя транспортир, я должен ждать специального события.Транспортир: лучший способ дождаться пользовательского события

Мой фактический способ ожидания - это ввести временную функцию, которая изменяет логическое значение, а затем ждет, пока это логическое значение изменится. Других слов:

browser.executeScript('window.on("customEvent", function(){ 
    window.hasBeenTriggered=true; 
    }) 
)') 
browser.driver.wait(function(){ 
    return browser.executeScript('return window.hasBeenTriggered;' )===true; 
}); 

Есть ли лучший способ ждать пользовательского события в транспортире? Как вы ждете пользовательских событий? Предоставляет ли API-интерфейс транспортира метод его выполнения?

ответ

1

Прочитайте мой ответ здесь о execute_async_script

browser.execute_async_script(
    function(callback) { 
    window.on("customEvent", callback(e)); 
    } 
).then(function(e) { 
    console.log('custom event called with message: ' + e.message); 
}); 
Смежные вопросы