2014-12-15 3 views
0

У меня есть несколько выпадающих списков в заголовочной части с тем же именем класса. Как написать тестовые примеры protractor 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'); 

получить Nth ниспадающего меню (Doc), и проверить первый элемент этого ...

Тогда для такого рода довольно сложной страницы, я предлагаю использование Page objects.

[Изменить: Кроме того, я не знаю, является ли это хорошей практикой, но если вы не хотите придерживаться определенного порядка, я бы добавил уникальный класс для каждого раскрывающегося списка (или идентификатора)].

+0

Что такое get (N) в первой строке. – NNR

+0

N - номер элемента, к которому вы хотите получить доступ. Например, если вы хотите первыми, вам нужно сделать get (0) (или first()), если вы хотите перейти к выпадающему меню, тогда вы получите (1) и т. Д. – ValentinH

Смежные вопросы