2016-08-02 6 views
1

第3レベルに拡大する第2レベルのメニューオプションをクリックしようとしています。いくつかのメニューオプションはクリックされません。私はすべてのセクションの前に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')"このセレクタを1つずつクリックしたいと思います...もし、要素をすべてクリックして、どのように各要素をここでクリックできますか? – 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

関連する問題