2015-04-15 22 views
6

E2e testlerimi iletici içinde açısal hizmet $ httpBackend kullanılarak alay edilmiş bir API'ye karşı çalıştırıyorum.İleticideki httpBackend API mock modülünde yazdırma isteği

afterEach(function() { 
    browser.manage().logs().get('browser').then(function(browserLog){ 
    if(browserLog.length) { 
     for (var i = 0; i < browserLog.length; i++) { 
     if(typeof browserLog[i] !== 'undefined') { 
      console.log(
      JSON 
      .parse(browserLog[i].message).message.parameters[0].value 
     ); 
     } 
     }; 
    } 
    }); 
}); 

Ben URL ve başlıkları (resourse kullanıcılar) benim httpBackend modül içindeki her isteğin yazdırmak istiyorum:

Zaten selenyum tarayıcının ayıklama günlüğünü sahip

$httpBackend 
    .whenGET(/^\/api\/users.*$/) 
    .respond(function(method, url, data, headers) { 
    var users = mockUserService.getData(); 
    console.log(url); 
    console.log(headers); 
    return [200, users, {}]; 
}); 

Ancak, httpBackend modülünün herhangi bir yerinde hiçbir şey kaydedilmez. Uygulamamda kullandığımda iyi çalışıyor, ancak iletki ile kullandığımda değil.

Herhangi bir yere yazdırmanın herhangi bir yolu var mı? Bir çıktı metin dosyasında bile mi?

cevap

10

console.log() ifadeleri WebDriver tarafından ignored'dir. here açıklandığı gibi console.info(), console.warn() veya console.error()'u kullanabilirsiniz.