量角器 - 选择下拉时元素不可见。(但手动选择时可见)

时间:2016-01-21 09:56:42

标签: automation protractor angularjs-e2e

我一直在寻找2天,但我无法找到解决方案,我想要下拉选择。当我使用一些element.all css定位器点击下拉列表时,它会点击下拉列表(下拉打开但显示错误)。所以我试图使用linkText打开下拉菜单(完全打开)。但之后我无法在下拉列表中选择该选项。 (显示元素不可见)。我也无法通过linkText选择该选项。详情

<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right" style="margin-right:0px">
 <li>
    <div uib-dropdown="" style="margin-right: 5px;" class="dropdown">
                                Tenant
    <a href="" id="simple-dropdown" uib-dropdown-toggle="" class="dropdown-toggle" aria-haspopup="true" aria-expanded="false">
    <span class="breadcrumb ng-binding" style="padding-bottom: 2px; padding-top: 2px;">cust1</span>
    </a>
      <ul class="uib-dropdown-menu dropdown-menu" role="menu" aria-labelledby="single-button">
    <!-- ngRepeat: tenant in tenantList --><li ng-repeat="tenant in tenantList" class="ng-scope">
    <a ng-click="selectTenant(0)" href="">
    <span ng-show="selectedTenant.Identity == tenant.Identity" class="glyphicon glyphicon-ok"></span>
    <span ng-show="selectedTenant.Identity != tenant.Identity" style="margin-left: 17px" class="ng-hide"></span>
    <span class="ng-binding">cust1</span>
    </a>
    </li><!-- end ngRepeat: tenant in tenantList --><li ng-repeat="tenant in tenantList" class="ng-scope">
    <a ng-click="selectTenant(1)" href="">
    <span ng-show="selectedTenant.Identity == tenant.Identity" class="glyphicon glyphicon-ok ng-hide"></span>
    <span ng-show="selectedTenant.Identity != tenant.Identity" style="margin-left: 17px" class=""></span>
    <span class="ng-binding">NewTenant1</span>
     </a>
    </li><!-- end ngRepeat: tenant in tenantList --><li ng-repeat="tenant in tenantList" class="ng-scope">
    <a ng-click="selectTenant(2)" href="">
    <span ng-show="selectedTenant.Identity == tenant.Identity" class="glyphicon glyphicon-ok ng-hide"></span>
    <span ng-show="selectedTenant.Identity != tenant.Identity" style="margin-left: 17px" class=""></span>
    <span class="ng-binding">cust2</span>
    </a>
    </li><!-- end ngRepeat: tenant in tenantList -->
    </ul>
    </div> 

我尝试通过以下方式进行选择,但我无法让它发挥作用。

  1. 等待元素变为可见。
  2. 连结文字
  3. 要选择的选项。 (通过转发器名称作为选项) 请帮助我

2 个答案:

答案 0 :(得分:1)

元素(by.partialLinkText( 'cust2'));我不知道linktext如何工作但partialLinkText正在工作。谢谢你的回复。

答案 1 :(得分:-1)

这样就够了吗?我用它来识别包含特定标签值的下拉元素......

this.clickDropChoice = function(dropdown, optionChoice) {
    dropdown.element(by.cssContainingText('option', optionChoice)).click()
};