Como a espera implícita do Transferidor interage com a espera explícita?

O mal-entendido acontece quando a espera implícita é menor que explícita:

var timeOut = 5000;
var search = element(by.xpath(`//*[@name='qwer']`));
browser.manage().timeouts().implicitlyWait(4000);
browser.ignoreSynchronization = true;

describe('Protractor Test', function () {
    beforeEach(function () {
        browser.get('https://www.google.com.ua');
    });
    it('EC', function () {
        console.log('START');
        // browser.sleep(timeOut);
        browser.wait(protractor.ExpectedConditions.presenceOf(search), timeOut);
    });
});

Tempo total: 8.613 segundos. Espere um segundo mais baixo: 3000 e o resultado é 6.865 segundos. Como funciona sob o capô? Muito obrigado antecipadamente!

questionAnswers(3)

yourAnswerToTheQuestion