2016-08-08 4 views
1

私はangularjsのユニットテストでは新しいです。チュートリアルはanglejsでprotactorを使用してユニットテストでハイパーリンクをクリック

https://github.com/angular/protractor/blob/master/docs/tutorial.mdから読んでいます。

ハイパーリンクをクリックしたいのですが、これをどのように達成できるのか分かりません。ここで

は私のコードです:ユニットテストで

<li ng-repeat="menu in sidebarLinks" ng-if="menu.visible == true " ng-class="{active: isActive('/{{menu.action}}')}"> 
        <a ng-href="#/{{menu.action}}" title="{{menu.name}}" ng-click="loadSubmenus(menu.action)" ng-class="{active: isActive('/{{menu.action}}')}"> 
         <div class="icon {{menu.icon}}" ng-class="{active: isActive('/{{menu.action}}')}"></div> 
          <span>{{menu.name}} </span> 
        </a> 
       </li> 

describe('Protractor Demo App', function() { 
    browser.driver.get('https://localhost:8443/login.html'); 

browser.driver.findElement(by.id('name')).sendKeys('test'); 
browser.driver.findElement(by.id('password')).sendKeys('test'); 
browser.driver.findElement(by.id('login')).click(); 

}); 

ログインURLは、リンクURLをクリックした後https://localhost:8443/#/dash

したら、あなた以来https://localhost:8443/#/hypera

+0

あなたのHTMLについて、あなたが提供しているより多くの情報が必要です。あなたのIDには何もありませんので、あなたが探しているものの要素を取得する方法を教えてください。 – Jooba0352

答えて

0

する必要がありますリンクが他の誰のためにも機能しないマシン上でローカルに実行すると、私はそれを実行する最善の方法しか教えてくれません。

ハイパーリンクを扱う場合は、「ログイン」で設定した要素を取得する必要があります。あなたのHTMLスニペットには表示されませんので、正しいパスを伝えることはできません。

それは基本的なハイパーリンクであった場合、あなたはのようなものを使用して簡単に見つけることができる:あなたのログインボタンのテキストが実際のログイン」の場合

element(by.linkText('login')).click() 

。それは、ボタンのような何か他のものが、ある場合には、正確な要素を見つける必要がありますし、それは次のようになります。あなたのログインボタンをHTMLページの「スパン」タグの下にある場合

element(by.css('span[class="login"]')).click() 

関連する問題