2016-05-26 46 views
3

我是量角器的新手,並且嘗試選擇「收件箱」元素的angularjs腳本。這是3手風琴類型下降的第二個。如何使用量角器選擇單個元素

<div class="container"> 
<div class="ng-scope" ui-view="" style=""> 
    <div class="logo-container ng-scope"> 
    <img class="img-responsive center-block" src="images/logo.png"> 
</div> 
    <a class="ng-scope" ng-click="toggleNav('/inboxes/alerts')"> 
    <div class="inboxes inbox-alerts panel"> 
    <div class="panel-body"> 
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> 
<span class="panel-text ng-binding"> 
Alerts 
<span class="badge ng-binding">3</span> 
</span> 
</div> 
</div> 
</a> 
<a class="ng-scope" ng-click="toggleNav('/inboxes/inbox')"> 
    <div class="inboxes inbox panel"> 
    <div class="panel-body"> 
     <span class="glyphicon glyphicon-inbox" aria-hidden="true"></span> 
     <span class="panel-text ng-binding"> 
     Inbox 
    <span class="badge ng-binding">41</span> 
    </span> 
    </div> 
</div> 
</a> 

我是能夠做到這一點使用element.all,但這返回元件的陣列 「[ '提醒3', '3', '41收件箱', '41',「觀看List104 」,‘104’]」 但我真的希望是獲得特定元素。 下面是我的代碼

it('should open & close the Inbox panel', function() { 
    var inbox_elm1 = element.all(by.binding('Inbox')).get(2); 
     inbox_elm1.click(); 
]); 
}); 

由於我使用get(2)獲得第二個元素提及。但我想不使用element.all來獲得這個元素。
我試過其他的東西,返回一個零UCH作爲

var inbox_elm1 = element(by.binding('Inbox')); 

var inbox_elm1 = element.all(by.binding('Inbox')).first(); 

它返回一個錯誤。

考慮到這一點

現在,我已經成功地選擇了警報元素很容易的,因爲它是用第一面板:

var alrt_elm = element.all(by.binding('Alerts')).first(); 
alrt_elm.click(); 

但上述重複的代碼,改變「提醒」到「收件箱」只是不停選擇警報手風琴而不是收件箱手風琴。建議?對不起,長時間閱讀。

回答

0
var alerts = element(by.xpath('//a[@ng-click='toggleNav('/inboxes/alerts')']')); 
var inbox = element(by.xpath('//a[@ng-click='toggleNav('/inboxes/inbox')']')); 
+0

你實際測試呢?它似乎有一些嵌套的引用問題。此外,雖然這可能會在技術上回答這個問題,但不鼓勵使用僅用於代碼的答案,因爲您應爲答案提供一些解釋/上下文。 –

+0

您能否解釋您的答案如何解決問題中的問題?僅有代碼的答案並不是很有用,特別是對於那些偶然發現這篇文章的讀者。謝謝! – Cristik

相關問題