Я хотел бы предложить небольшое улучшение для других ответов.
короткий ответ: Мне нравится использовать browser.sleep(0).then(..);
, где мне нужно толкать что-то к потоку транспортира.
это общий и простой способ передвижения.
Т.Л., др
так, используя выше, вы можете легко добавить функцию в браузере (или PTOR) что-то вроде:
browser.log = function(logger, level, msg){
browser.sleep(0).then(function(){ logger[level](msg); });
}
или что-то немного более сложным с apply
- но это зависит от вашего регистратора.
вы можете, очевидно, что улучшить немного, чтобы иметь регистратор как апи
var logger = browser.getLogger('name');
должны быть реализованы как (предположим log4js)
browser.getLogger = function(name){
var logger = require('log4js').getLogger(name);
function logMe(level) {
return function(msg){
browser.sleep(0).then(function(){ logger[level](msg); });
}
}
return { info : logMe('info'), ... }
}
в основном, небо это предел.
Я уверен, что есть способ сделать мой код намного короче, точка использует метод sleep
в качестве основы.
Как обернуть это в (синхронно) объекта страницы? –
оберните его в объект страницы синхронизации с помощью browser.wait (function() {element (selector) .getText(). Then (function (text) {console.log (text)});}), timeoutms); –