5

multiCapabilities aracılığıyla yapılandırılmış birden çok tarayıcıya sahip bir protractor kurulumunu ve tarayıcıda test çalıştırıyorum.İletkide Bilinmeyen Hatalar İşleme

afterEach(function() { 
    browser.manage().logs().get("browser").then(function (browserLog) { 
     expect(browserLog.length).toEqual(0); 
    }); 
}); 

tarayıcı konsolu (konsolda hata) boş olduğunu kontrol eder: benim anahtar iletki gözlük

One/testler aşağıdaki afterEach() blok içerirler.

sorun: Ben Internet Explorer karşı aynı spesifikasyonları çalıştırdığınızda, bir UnknownError alıyorum: Hızlı bir araştırmadan sonra

UnknownError: Command not found: POST /session/6b838fe8-f4a6-4b31-b245-f4bf8f37537c/log

, ben IE selenium webdriver henüz oturumu desteklemediği öğrendim günlükleri:

Soru: Bu UnknownError'u nasıl yakalayabilirim ve bu özel hata durumunda özelliklerin geçmesine izin verebilir miyim?

Veya, etrafı çevirmek için, bir afterEach() blok kapasitesine/tarayıcısına özgü olabilir veya şu anda hangi kapasitede çalışıyordur?


Ben try/catch kullanmak ve istisna sender güvenerek denemek denedim ama console.log() yürütülmez:

Çözüm olarak
afterEach(function() { 
    try { 
     browser.manage().logs().get("browser").then(function (browserLog) { 
      expect(browserLog.length).toEqual(0); 
     }); 
    } 
    catch (e) { 
     console.log(e.sender); 
    } 
}); 

, ben aynı spec çoğaltarak ama bu afterEach() başarısız olmadan ediyorum Özellikle Internet Explorer için blok. Bu durumda tarayıcı günlüğünde

afterEach(function() { 
    browser.driver.getCapabilities().then(function(caps) { 
     var browserName = caps.caps_.browserName; 

     if (browserName !== "internet explorer") { 
      browser.manage().logs().get("browser").then(function (browserLog) { 
       expect(browserLog.length).toEqual(0); 
      }); 
     } 
    }); 
}); 

Internet Explorer karşı çalışan kontrol edilmez olacaktır: geçerli tarayıcı adını almak için getCapabilities() kullanarak -

cevap