量角器两个具有相同文本的按钮

Protractor two buttons with the same text

嘿,Protractor e2e 测试有这个问题:

我有带子菜单的菜单。 菜单和子菜单内部按钮的名称文本相同(菜单中1个,子菜单中1个)例如我们可以将其命名为"menuItem"。 我知道如何在菜单中找到并单击第一个 "menuItem",但我找不到如何单击子菜单 "menuItem"。我正在使用定位器 by.buttonText 在菜单中找到第一个 "menuItem"。两个按钮具有相同的 css 类。 我正在使用 angular.

中的基本 matMenu

有人可以帮我解决这个问题吗?

<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。 希望对你有帮助。