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();