Javascript 量角器-从引导下拉列表中选择
我有一个,我想用量角器点击下拉列表中出现的选项之一。我如何做到这一点Javascript 量角器-从引导下拉列表中选择,javascript,twitter-bootstrap,selenium,selenium-webdriver,protractor,Javascript,Twitter Bootstrap,Selenium,Selenium Webdriver,Protractor,我有一个,我想用量角器点击下拉列表中出现的选项之一。我如何做到这一点 <div class="btn-group" ng-if="!persist.edit" dropdown> <button type="button" class="btn btn-default" dropdown-toggl
<div class="btn-group" ng-if="!persist.edit" dropdown>
<button type="button"
class="btn btn-default"
dropdown-toggle>
<span translate="GENERAL.ACTIONS"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<!-- Check In -->
<li role="presentation">
<a ng-click="checkIn()"
role="menuitem"
tabindex="-1"
translate="ITEMS.LIST.BUTTON_CHECK_ITEM_IN">
</a>
</li>
<!-- Check Out -->
<li role="presentation"">
<a ng-click="checkOut()"
role="menuitem"
tabindex="-1"
translate="ITEMS.LIST.BUTTON_CHECK_ITEM_OUT"
translate-value-length="1">
</a>
</li>
</ul>
</div>
首先,单击下拉切换按钮打开下拉列表。然后,选择一个选项:
var dropDown = element(by.css("div[dropdown]"));
dropDown.element(by.css("button[dropdown-toggle]")).click();
dropDown.element(by.css("a[ng-click*=checkIn]")).click(); // Check In
工作代码:
element(by.buttonText("Actions")).click();
element(by.css('[ng-click="]checkIn()"]')).click(); // Check In
从引导下拉列表中选择的一个干净的解决方案是单击buttonText,然后单击linkText:
element(by.buttonText('your button')).click();
element(by.linkText('your selection')).click();
看起来它没有从页面上的另一个锚元素中选择签入部分。我不太懂语法,你是在链接,对吗?选择带有ng的锚点单击类=签入。为什么*?@VSO好的,更新了,使其特定于上下文,特定于下拉列表。*=基本上意味着包含。我在文章末尾添加了一个我试图删除的内容的编辑,但它抛出了一个错误。注意,我在页面上有大约10个下拉列表,因此var下拉列表发生了变化。我知道它选择了正确的下拉列表和我的方式。我假设它不会弄乱你的代码,但如果会,请告诉我。让我再次问你一个理论问题-在我单击下拉列表后,我是否能够通过任何方式选择元素,然后单击它们,理论上不经过父元素?或者我必须通过家长?谢谢您的帮助。@VSO当然,您不需要通过父元素。谢谢你的更新。
element(by.buttonText('your button')).click();
element(by.linkText('your selection')).click();