2016-08-08 4 views
1

angularjs에서 단위 테스트를 처음 사용했습니다. 튜토리얼을 다음에서 읽어 왔습니다.angularjs에서 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> 

단위 테스트에서 : 여기

내 코드 로그인 URL 후

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(); 

}); 

https://localhost:8443/#/dash

때문에 링크 URL을 클릭이 https://localhost:8443/#/hypera

+0

제공하는 것보다 더 많은 HTML 정보가 필요합니다. 당신의 이드에는 아무 것도 없습니다. 그래서 당신이 찾고있는 요소를 얻는 방법을 말할 수는 없습니다. – Jooba0352

답변

0

을해야 후에 당신의 링크가 다른 사람에게 작동하지 않습니다. 귀하의 컴퓨터에서 로컬로 실행, 난 당신에게 그것을 할 수있는 가장 좋은 방법을 말할 수 있습니다.

하이퍼 링크를 다루는 경우 '로그인'으로 설정 한 요소를 가져와야합니다. 나는 당신에게 정확한 경로를 줄 수 없으므로 당신의 HTML 발췌 문장에서 그것을 보지 않을 것이다.

는 기본적인 하이퍼 링크라면, 당신은 같은 것을 사용하여 쉽게 찾을 수 있습니다 : 로그인 버튼의 텍스트가 참으로 '로그인'이면

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

. 그것은 버튼과 같은 뭔가 다른, 경우, 정확한 요소를 찾아야하며 다음과 같이 표시됩니다 로그인 버튼을 HTML 페이지의 '범위'태그에 해당되는 경우

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

.