2016-08-02 115 views
1

我想点击第二级菜单选项,将扩大到第三级。一些菜单选项没有被点击。我在所有部分之前添加了browser.driver.manage()。window().setSize(1280,1024)。下面元素不可点击的铬驱动器量角器角2

是我的代码:

it('Should expect clicking the second level menu option will expand the third level',() => { 
    element.all((by.css('div.panel.panel-default'))).click().then(() => { 
    var groupList = element.all((by.css('.list-group-header.sub-menu-header.active-element'))); 
    // expect(groupList.get(1).getAttribute('class')).toMatch('active-element'); 
    expect(groupList.count()).toEqual(1); 
    }); 
}); 
+0

我想通过“by.css('div.panel.panel-default')”这个选择器逐个单击每个元素...如果有人能帮助我如何使用每个函数元素全部以及如何在这里单击每个元素。 – user3444776

回答

0

当我们处理的多级菜单,这是很好的使用protractor.ExpectedConditions检查元素的可视性和可点击状态。

而在你的情况下,用量角器“每()”方法,可以点击下面的代码每个element.Hope会帮助你。

Code Snippet: 

var EC = protractor.ExpectedConditions; 
var timeout=5000; 

it('Should expect clicking the second level menu option will expand the 
    third level',() => { 
    element.all((by.css('div.panel.panel-default'))).each(function(ele,index) 
    { 
    //check whether each element becomes visibile or not 
    browser.wait(EC.visibilityOf(ele), timeout).thenCatch(function() { 
    assert.fail('element is not visibile'); 
        }); 
    //check whether each element is clickable or not 
    browser.wait(EC.elementToBeClickable(ele), timeout).thenCatch(function 
    () { 
     assert.fail('element is not click able'); 
      }); 
    //then click each element 
    ele.click().then(function(){ 
    var groupList = element.all((by.css('.list-group-header.sub-menu- 
           header.active-element'))); 
    // expect(groupList.get(1).getAttribute('class')).toMatch('active- 
     element'); 
    expect(groupList.count()).toEqual(1); 
    }); 
    }); 
}); 
+0

感谢您的回复@Suresh – user3444776

+0

您的问题是否已解决? –

+0

是的,我用一种不同的方式来解决它,但是,这是非常有用的,我将来不得不使用它。再次感谢:) – user3444776