当前位置: 首页 > 知识库问答 >
问题:

量角器点击下拉切换

齐运诚
2023-03-14

我正在使用量角器在我的角度应用程序上运行E2E。我遇到了一个非常奇怪的问题。我正在使用Bootstrap Dropdown,它有一些选项。我需要单击其中一个选项。我参考了这个答案,它试图做类似的事情,但对我不起作用:量角器——如何选择大量嵌套的下拉元素?

我的结构看起来像:

<div id="fc-more-btn" class="btn-group btn-group-sm dropdown" role="group" dropdown="" is-open="ctrl.fcDropdown">
    <button type="button" class="btn btn-default dropdown-toggle filetree-btn" tooltip="More Actions" tooltip-trigger="mouseenter" tooltip-placement="bottom" ng-disabled="ctrl.sd.noSelections" dropdown-toggle="" aria-haspopup="true" aria-expanded="false">
      <span class="fa fa-caret-down"></span>
    </button>
    <ul class="dropdown-menu filetree-dropdown" role="menu">
      <li>
        <a class="btn fc-dropdown-link" ng-disabled="ctrl.sd.noSelections||(ctrl.sd.multipleSelections||!ctrl.sd.dirSelected)" ng-click="ctrl.createNewFile()">
          New File
        </a>
      </li>
      <li>
        <a class="btn fc-dropdown-link" ng-disabled="ctrl.sd.noSelections||(ctrl.sd.multipleSelections||!ctrl.sd.dirSelected)" ng-click="ctrl.createNewDir()">
          New Folder
        </a>
      </li>
      <li>
        <a class="btn fc-dropdown-link" ng-disabled="ctrl.sd.noSelections" ng-click="ctrl.copyFiles()">
          Copy
        </a>
      </li>
      <li>
        <a class="btn fc-dropdown-link" ng-disabled="ctrl.clipboardEmpty||ctrl.sd.noSelections||(ctrl.sd.multipleSelections||!ctrl.sd.dirSelected)" ng-click="ctrl.pasteFiles()" disabled="disabled">
          Paste
        </a>
      </li>
      <li>
        <a class="btn fc-dropdown-link" ng-disabled="ctrl.sd.noSelections||ctrl.sd.multipleSelections" ng-click="ctrl.renameFile()">
          Rename
        </a>
      </li>
    </ul>
  </div>

在我的测试中,我尝试单击重命名链接。

我写的代码是:

element(by.css('.dropdown-toggle')).click().then(function(){
  //click on rename
});

在运行测试时,下拉切换按钮上有一个小的闪烁,似乎按钮被点击了。但是,应显示的下拉列表未显示。

因此,我无法模拟单击重命名。我做错什么了吗?

共有1个答案

衡翰翮
2023-03-14

尝试通过css选择包含文本,对下拉列表和嵌套元素非常有帮助!

element(by.cssContainingText('option', 'Rename')).click();
 类似资料:
  • 下拉列表包含和包含可见的: 我无法使用此代码: 我没有下拉列表的值。 在这种情况下,下拉列表的量角器代码应该是什么?

  • 我正在尝试使用量角器登录谷歌帐户 google-account-spec.js conf.js 登录页面.js我正在使用页面对象模式(登录页面是页面对象) 当我尝试点击下一步按钮输入密码时,我得到一个错误 {WebDriverError:未知错误:元素…在点(1100527)处不可单击。其他元素将收到单击: 它说该元素不可点击,但之前在代码中我一直在等待它变得可点击。所以我就是不明白,这个元素怎么

  • 我是新的量角器,我正在执行一些e2e测试,我在最后一个问题,当我试图调用下拉列表并选择其中一个选项时。 这是我的代码: 我每次得到的是: 这个错误怎么可能? 提前感谢您的帮助。

  • 问题内容: 嗨,我在让基本量角器测试正常工作时遇到了一些麻烦。 我的设置: 我使用requirejs,所以我使用angular.bootstrap()而不是ng-app attr来初始化angular。根据量角器文档,此功能不被立即使​​用,但对于不涉及单击的测试似乎效果很好。 量角器conf.json: 我使用一些包装在指令中的第三方jquery插件,我怀疑这些可能是问题的一部分。 考试: 错误

  • 我有一个元素,只有当我悬停在它上面时才可见。 我编写了以下代码来覆盖面板,以便元素可见。 现在我试着点击它,但它说-ElementNotVisibleError:量角器中的元素不可见错误。 基本场景是,我想将鼠标悬停在面板上,然后单击隐藏元素,因为该元素在悬停之前是不可见的。

  • 我正在为我的网站登录和注销功能编写一个简单的量角器测试。登录测试运行正常,但我不知道如何编写注销测试,因为注销链接在将鼠标悬停在图标上后显示在下拉菜单中 我如何访问最后一个