2014-12-05 71 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