paginationPageNumberList

paginationPageNumberList

我在我的Page对象中声明了这一点:

this.paginationPageNumberList = element.all(by.repeater("page in pages track by $index"));


在Page Object的函数中运行此函数,成功执行并输出“ no wrap”:

browser.executeScript('window.scrollTo(254,1600);');
this.paginationPageNumberList.get(0).then(function() {
    console.log("no wrap");
});


除了使用then()以外,运行相同的东西会给我一个错误:

browser.executeScript('window.scrollTo(254,1600);').then(function () {
    this.paginationPageNumberList.get(0).then(function() {
        console.log("wrap");
    });
});



  失败:无法调用未定义的方法“ get”。


为什么?

最佳答案

恐怕this在这种情况下不引用页面对象。

相反,请创建一个单独的变量:

var paginationPageNumberList = element.all(by.repeater("page in pages track by $index"));
this.paginationPageNumberList = paginationPageNumberList;

browser.executeScript('window.scrollTo(254,1600);').then(function () {
    paginationPageNumberList.get(0).then(function() {
        console.log("wrap");
    });
});

10-08 00:10