本文介绍了量角器:滚动表和测试无限滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样才能得到量角器下放在桌面上滚动?我的表确实无限滚动 - 它加载20条记录,并显示在第二到最后一行时,获取未来的20条记录。并非所有的记录都在视图......有些低于尚未滚动到,有的上面,当用户滚动过去吧。我在想测试

 它('应取下一组上滚动记录'){
    element.all(by.id(用户))。图(功能(榆树){
        返回榆树;
    })。然后(功能(用户){
        期待(users.length).toBe(20);
    });    //滚动表底触发获取更多的记录    element.all(by.id(用户))。图(功能(榆树){
        返回榆树;
    })。然后(功能(用户){
        期待(users.length).toBe(40);
    });
};

这是这样做的正确方法吗?

HTML表code:

 < D​​IV NG-IF =用户和放大器;&安培; users.length大于0级=表滚动NG无限滚动=loadMoreUsers() >
    <表ID =用户表级=表的表悬停文本溢出省略号>
        <&THEAD GT;
            < TD类=COL1>< / TD>
            < TD ID =用户表名-COL级=COL2>用户< / TD>
            < TD ID =用户表最新-COL级=COL3>生日< / TD>
        < / THEAD>
        < TBODY NG重复=在用户组>
            < TR NG重复=用户group.usersNG点击=userClicked(用户);>
                < TD类=COL1>
                    < IMG类=COL-XS-1的资料画面的风格=填充:0NG-SRC ={{user.profile_picture}}>< / TD>
                < TD类=COL2>
                    < D​​IV ID =用户名> {{user.last_name}},{{user.first_name}}< / DIV>
                < / TD>
                < TD类=COL3>
                    < D​​IV ID =用户的最新> {{user.date}}< / DIV>
                < / TD>
            < / TR>
         < / TBODY>
     < /表>
< / DIV>


解决方案

我们的想法是找到最新的元素在表( TR 标签),并滚动到它设置父到最后一个元素的。

var div = element(by.css('div.table-scroll'));
var lastRow = element(by.css('table#myid tr:last-of-type'));

browser.executeScript("return arguments[0].offsetTop;", lastRow.getWebElement()).then(function (offset) {
    browser.executeScript('arguments[0].scrollTop = arguments[1];', div.getWebElement(), offset).then(function() {
        // assertions

    });
});

Also see (similar solution used):

这篇关于量角器:滚动表和测试无限滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-06 03:54