当我从事量角器测试自动化工作时,并逐渐钻研越来越多的高级JavaScript功能,我想知道如何利用量角器测试自动化中的闭包功能。


  封闭可能证明的那些典型的测试自动化情况是什么?
  一个有用的功能?


我纯粹是从UI测试自动化的角度提出这个问题,而不是一般的JavaScript编程。我很想听听在大型项目中使用高级量角器并分享经验的资深人士。

最佳答案

这是我们在测试自动化项目中一直使用的一些闭包用例:


当一个页面对象方法具有一个承诺解析功能,您需要在其中访问其他页面对象字段或方法时,您需要创建一个闭包:

var SelectEnvironmentPage = function () {
    this.title = this.container.element(by.css("b.modal-title"));
    this.goButton = element(by.id("selEnvBtnGo"));

    this.passIfPresent = function () {
        var self = this;
        this.title.isPresent().then(function (isTitlePresent) {
            if (isTitlePresent) {
                self.goButton.click().then(function () {
                    helpers.passMaxSessionPopup();
                });
            }
        });
    };
};

extending ElementArrayFinder methods and defining the getWebElements() method

10-08 15:48