2014-12-15 9 views
0

같은 클래스 이름으로 헤더 부분에 여러 개의 드롭 다운이 있습니다. 여러 개의 드롭 다운에 대한 분도기 e2e 테스트 사례를 작성하는 방법.앵귤러 각도기 e2e 복수 드롭 다운 테스트

이 내 HTML 코드 조각입니다 : 당신의 도움에 미리

<ul class="nav navbar-nav"> 
    <li class="dropdown"> 
      <a class="dropdown-toggle" data-toggle="dropdown">Patient Flow <span class="caret"></span></a> 
      <ul class="dropdown-menu" role="menu"> 
      <li><a href="#/patientDashboard/appointments">Patient Portal</a></li> 
      <li><a href="#/dashboard2/stations/1/patients">Patient Queue</a></li> 
      <li><a href="#/dashboard4/appointments">Visitor Dashboard</a></li> 
      <!-- <li><a href="#/patientDashboard/appointments">Patient List View</a></li> --> 
      </ul> 
    </li> 
    <li><a href="#/dashboard3/encounters">OR Flow</a></li> 
    <li class="dropdown"> 
      <a class="dropdown-toggle" data-toggle="dropdown">Track Assets <span class="caret"></span></a> 
      <ul class="dropdown-menu" role="menu"> 
      <li><a href="#/listViewTable/assets">Asset List View</a></li> 
      <li><a href="#/dashboard5/assets">Asset Map View</a></li> 
      </ul> 
    </li> 
    <li class="dropdown"> 
      <a class="dropdown-toggle" data-toggle="dropdown">System Setup <span class="caret"></span></a> 
      <ul class="dropdown-menu" role="menu"> 
      <li><a href="#/listViewTable/patients">Patients</a></li> 
      <li><a href="#/listViewTable/appointments">Appointments</a></li> 
      </ul> 
    </li> 

    <li><a href="#/dashboard10/encounters/1">Reports</a></li> 
    </ul> 

감사합니다.

답변

0

당신은 사용할 수 있습니다

var dropdown = element.all(by.css('.dropdown')).get(N); 
var toggle = dropdown.element(by.css('.dropdown-toggle')); 
toggle.click(); 
var list = dropdown.all(by.css('.dropdown-menu li')); 
expect(list.first().getText()).toEqual('Patient Portal'); 

이 N 번째 드롭 다운 (Doc)를 얻고, 그것의 첫 번째 요소를 테스트하기 위해 ... 매우 복잡 페이지의이 종류의 그런

, 내가하는 것이 좋습니다 Page objects을 사용하십시오.

[편집 : 또한, 좋은 연습인지는 모르겠지만 특정 주문을 고집하지 않으려면 각 드롭 다운 (또는 ID)에 고유 한 클래스를 추가하십시오]

+0

첫 줄에 get (N)은 무엇입니까? – NNR

+0

N은 액세스하려는 요소의 번호입니다. 예를 들어 첫 번째를 원한다면 get (0) (또는 first())를 수행하고, 두 번째 드롭 다운을 원할 경우 get (1) 등을 수행해야합니다. – ValentinH