2014-12-05 68 views
1

我一直在困擾與尋找方法來點擊編輯鏈接特定項目下:點擊鏈接的轉發與量角器

<li ng-repeat="item list | orderBy: predicate:false" class="ng-scope"> 
     <h1 class="ng-binding">item name</h1> 
      <p> 
       </p><div class="w140 left borderRight ng-binding"> 
       Contains: 

       </div> 

       <div class="left marginLeft20 ng-binding"> 
        Last modified: 
        Dec 5, 2014 
       </div> 

      <p></p> 

      <a href="#/f64d6673-450d-4f9c-9de8-2fa3fd29f922">edit</a> 
    </li> 

所以我需要按照項目名稱找到正確的項目,並點擊編輯鏈接。這是我迄今爲止,但它沒有找到任何東西:

element(by.cssContainingText('.ng-binding', 'item name')). 
      element(by.linkText('edit')). 
      click(); 
+0

.ng結合類是由角創建,所以也許這不是好主意基於這個類進行選擇(定位器)?也許你可以嘗試添加一些不同的課程? – 2014-12-05 14:54:51

+0

但是量角器是專門爲測試Angular而建立的,爲什麼Angular的類不能被量角器使用? – QAinCharge 2014-12-08 12:50:34

+1

xpath is working:browser.findElement(By.xpath(「// li [contains(。,'item name')]/a」))。click(); – QAinCharge 2014-12-08 19:07:22

回答

0

您嘗試選擇h1元素內「編輯」鏈接

選擇'編輯'鏈接裏面li元素

element(by.cssContainingText('li', 'item name')).element(by.linkText('edit')).click(); 

編輯

或者

element(by.cssContainingText('li', 'item name')).element(by.css('a')).click(); 
+0

'item name'was found but'edit'was not:NoSuchElementError:No locator found using locator:By.linkText(「edit」) – QAinCharge 2014-12-10 14:35:08

+0

嗯,這很奇怪。我已經更新了答案。 – 2014-12-10 22:56:59

+0

謝謝Shuhei,第二回答作品! – QAinCharge 2014-12-19 13:20:44