Транспортир двух кнопок с одинаковым текстом - PullRequest
1 голос
/ 20 января 2020

Эй, у меня проблема с тестом Protractor e2e:

У меня есть меню с подменю. Меню и подменю имеют одинаковый текст названия кнопок внутри (1 в меню, 1 в подменю), например, мы можем назвать его «menuItem». Я знаю, как найти и нажать сначала «menuItem» в меню, но я не могу найти, как нажать подменю «menuItem». Я использую локатор by.buttonText, чтобы найти первый «menuItem» в меню. Обе кнопки имеют одинаковые css классы. Я использую basi c matMenu из angular.

Может кто-нибудь помочь мне с этим?

1 Ответ

1 голос
/ 20 января 2020
<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
<button mat-menu-item>Menu</button>
</mat-menu>

Если ваш код похож на этот, то вы можете использовать element.all(by.buttonText('Menu')).last().click() Вы можете задать browser.sleep (1000) перед этой строкой, чтобы убедиться, что транспортир сможет его перехватить.

Но если у вас несколько вариантов с одним и тем же именем, вам нужно определить что-то уникальное, например 'id', или использовать XPath. Надеюсь, это поможет.

...