2015-11-20 52 views

回答

4

我瞭解它的方式,你想看到被測系統產生的信息?試試這個:

var logBrowserMessages = function(logEntries, driver, logging, cb) { 
     return driver.manage().logs().get(logging.Type.BROWSER).then(function(entries) { 
      entries.forEach(function(entry) { 
       logEntries = logEntries + entry.level.name + ': ' + entry.message + '\n'; 
      }); 
      logEntries = logEntries + "\n"; 
      console.log('final entries:' + logEntries); 
      return cb(); 
     }); 
    }; 

您還需要要求:

var logging = require('selenium-webdriver').logging; 

,併成立了駕駛員與記錄preferances:

var prefs = new logging.Preferences(); 
    prefs.setLevel(logging.Type.BROWSER, logging.Level.ALL); 
    driver = new webdriver.Builder() 
     .withCapabilities(webdriver.Capabilities.chrome()) 
     .setLoggingPrefs(prefs) 
     .build(); 

然後你可以使用logBrowserMessages:

var doStuff = function(driver, logging) { 
     return logBrowserMessages('', driver, logging, function() { 
       //Do stuff 
      }); 
     }); 
    }; 
+0

一些額外的信息。根據webdriver標準,如果您將讀取兩次日誌,則第二次讀取操作將僅返回第一次日誌讀取操作後創建的日誌(如果有)。一些網絡驅動程序遵循此規則(例如chromedriver),有些則不遵守(例如phantomjs)。 – Dzenly

相關問題