Protractor flakiness

前端 未结 4 696
忘掉有多难
忘掉有多难 2021-02-02 00:58

I maintain a complex Angular (1.5.x) application that is being E2E tested using Protractor (2.5.x). I am experiencing a problem with this approach, which presents primarily in t

4条回答
  •  無奈伤痛
    2021-02-02 01:40

    Yes, I think all of us experienced such flakiness issue.

    Actually, the flakiness is quite common issue with any browser automation tool. However, this is supposed to be less in case of Protractor as Protractor has built-in wait consideration which performs actions only after loading the dom properly. But, in few cases you might have to use some explicit waits if you see intermittent failures.

    I prefer to use few intelligent wait methods like:

    function waitForElementToClickable(locator) {
            var domElement = element(by.css(locator)),
                isClickable = protractor.ExpectedConditions.elementToBeClickable(domElement);
    
            return browser.wait(isClickable, 2000)
                .then(function () {
                    return domElement;
                });
        }
    

    Where 2000 ms is used as timeout, you can make it configurable using a variable.Sometimes I also go with browser.sleep() when none of my intelligent wait works.

提交回复
热议问题