量角器 - 查找所有元素和找到的元素的循环长度,然后单击按钮

2024-01-09

所以我一直在试图弄清楚如何根据 find All 元素的数量来单击按钮 x 次。这意味着如果同一个类名找到 3 个元素,那么我们循环 3 次,这应该单击按钮 3 次。

我做了这样的事情:

(新更新,请查看底部的编辑帖子)

通常情况下element.all(by.className('btn btn-remove btn-outlined')).getText()是 3 但可以更改为 6 和随机数,所以我的想法是先读取有多少btn btn-remove btn-outlined在 HTML 中,然后单击找到的元素多次。因此,如果找到 3 个,则单击按钮 3 次。

然而现在的问题是找出有多少个元素。它也循环多次,以 text.length 的形式给出,但在循环内部似乎跳过了it由于某些原因而起作用,我不明白为什么

现在它确实找到了元素的长度,即 3,并且似乎循环了很多次,但它跳过执行 it 功能(这部分):

      it('Click remove button - ' + i + '/' + text.length, function (done) {

            browser.driver
                .then(() => browser.executeScript("arguments[0].click();", element.all(by.className('btn btn-remove btn-outlined').first().getWebElement())));
                .then(() => done());
        });

        it('Wait for fading button to be gone', function (done) {

            setTimeout(function () {
                done();
            }, 1000);

        });

我担心我可能做错了一些我没有意识到的事情。

我怎样才能找到 DOM 中有多少给定元素并循环多次+单击删除按钮?

编辑代码:

it('Click remove button', function (done) {

    element.all(by.className('btn btn-remove btn-outlined')).getText().then(function (text) {
        console.log(text.length) //returns 3
        for (var i = 0; i < 4; i++) {

            console.log(i); //Does print 0 1 2

            it('Click remove button - ' + i + '/' + text.length, function (done) {

                console.log("Remove button"); //Doesnt print

                browser.driver
                    .then(() => browser.executeScript("arguments[0].click();", element.all(by.className('btn btn-remove btn-outlined').first().getWebElement())));
                    .then(() => done());
            });

            it('Wait for fading button to be gone', function (done) {

                console.log("TIme out"); //Doesnt print

                setTimeout(function () {
                    done();
                }, 1000);

            });
        }
    })
    done();
});

你的原因itfor循环里面没有执行的是那些it在运行时动态生成,并且不受测试框架、Jasmine、Mocha 的尊重。

据我所知,Jasmine 需要加载并解析静态it在执行测试脚本文件之前,动态it加载和解析阶段后面生成的将被忽略。因此你需要删除动态it.

尝试下面的代码

it('Click remove button', function (done) {

    let allBtns = element.all(by.className('btn btn-remove btn-outlined'));

    allBtns.count()
    .then(function (cnt) {

        console.log('Find buttons:', cnt)

        for (let i = 0; i < cnt; i++) { // important to use let but var here.
            console.log('Remove button - ' + i + '/' + cnt);
            browser.executeScript("arguments[0].click();", allBtns.get(i).getWebElement())
            browser.sleep(1000) // sleep 1s
        }
    })
    .then(()=>{
        done();
    })

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

量角器 - 查找所有元素和找到的元素的循环长度,然后单击按钮 的相关文章

随机推荐

  • 如何在 React 中创建可重用的自定义模态组件?

    我对 React 中的模态概念有疑问 当使用带有 jQ uery 的服务器端渲染模板时 我习惯于有一个始终可用的空全局模态模板 包含在始终扩展的基本模板中 然后 当进行 AJAX 调用时 我只是填充模态 如下所示 modal global
  • 如何在 Flutter 中设置折叠元素的动画

    当用户用动画点击不同的小部件 同级或父级 时 如何展开和折叠小部件 new Column children
  • 如何在 Android 手机上模拟 NFC 标签

    我有一部 Android 手机 nexus s sdk v15 它应使用标签仿真将字符串发送到在 nfc 读取器 写入器模式下运行的开发板 我知道这不是 Android 官方支持的 所以我可以通过直接访问驱动程序来本地完成它 是否有任何人以
  • 如何从 Uri 获取位图?

    如何从 Uri 获取 Bitmap 对象 如果我成功将其存储在 data data MYFOLDER myimage png or file data data MYFOLDER myimage png 在我的应用程序中使用它 有谁知道如何
  • 如何对 MongoDB 中的字段进行加密

    我需要加密 mongo 文档中的一个字段 最好的方法是什么 我用弹簧 有spring注解吗 目前只能通过 java 进行加密 here https stackoverflow com questions 28936242 encrypt p
  • IE8异步文件上传

    我试图找到在 IE8 中异步上传文件 通过 Ajax 的示例代码 上传进度也很好 但不是强制性的 我希望 PHP 代码能够处理文件服务器端 我不断遇到其他浏览器使用 FormData 的示例 但我无法使用它 有人可以指出我正确的方向吗 这是
  • 为什么 :required => true 不适用于 collection_select?

    我想确保用户在提交之前在我的表单中选择一个类别 但是 required gt true似乎不起作用 这是选择 有什么建议吗 Try this 解释 根据 Rails 文档 语法为collection select函数看起来像这样 colle
  • scipy 树形图转 json 用于 d3.js 树可视化

    我正在尝试将 scipy 层次聚类的结果转换为 json 以在 d3 js 中显示一个例子 http bl ocks org mbostock 4063550 以下代码生成具有 6 个分支的树状图 import pandas as pd i
  • Java 到 JavaScript 编译器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 除了 GET 之外 还有其他 Java 到 JavaScript 编译器吗 目前我所有的工作都是用 Ja
  • 在 C++ 中存储任意对象的列表

    在 Java 中 您可以拥有一个对象列表 您可以添加多种类型的对象 然后检索它们 检查它们的类型 并针对该类型执行适当的操作 例如 如果代码不完全正确 我深表歉意 我是凭记忆写的 List list new LinkedList list
  • Python 中的本地导入语句

    我认为将 import 语句放置在靠近使用它的片段的位置 可以使其依赖关系更加清晰 从而提高可读性 Python 会缓存这个吗 我应该关心吗 这是一个坏主意吗 def Process import StringIO file handle
  • SplunkMint 上传 dSym

    每次尝试运行以下脚本 SplunkMint 脚本自动上传 dsym 文件以进行符号化 时 我都会收到此错误 SCRIPT usr bin find SRCROOT name splunkmint postbuild dsym upload
  • SQL Server CE 密码允许使用的字符吗?

    在我们开发的 Web 应用程序中 我们生成 SQL Server CE 数据库文件 并为这些文件生成密码 密码是使用 System Web Security Membership GeneratePassword 生成的 我认为Genera
  • 如何在 Tomcat 中启用 java 断言

    我想使用Javaassert我的 Spring Web 应用程序中的关键字 主要是在我的域类上 检查构造函数内的不变量 但我看不到如何启用运行时断言检查 对于普通的java应用程序 我会使用 ea使用 java 命令进行切换 但我不知道如何
  • 如何处理 jQuery UI Selectmenu 更改事件

    我使用 jquery ui 选择菜单自定义渲染选项 http jqueryui com selectmenu custom render 我该如何处理change event i try filesA on change function
  • 如何在 ng-repeat (AngularJS) 中绑定多个 JSON 文件?

    我有多个 JSON 文件 主要 json MainRegister name Name1 url url1 json name Name2 url url2 json url1 json SubInformation description
  • 使用 scipy.spatial 的数据类型问题

    我想使用 scipy spatial 的 KDTree 来查找二维数组中的最近邻对 本质上是一个列表列表 其中嵌套列表的维度为 2 我生成列表列表 将其通过管道传输到 numpy 的数组中 然后创建 KDTree 实例 然而 每当我尝试对其
  • 使用 Mockito 模拟 Jersey 客户端

    您好 我正在使用 JUnit 和 Mockito 测试 Jersey Client 1 19 版本 我正在努力获取或阅读该实体 我不知道如何从那里继续 而且我也收到 IllegalStateException 下面是我用来为客户端响应创建模
  • 如何在AWS上自动部署带有子模块的git存储库?

    我的 git 存储库中有一个子模块 我的目录结构如下 app folder1 folder2 submodule 5855 我已使用自动部署服务在 AWS 上部署了我的代码 现在 在服务器上 我的父目录中有代码 但子模块目录为空 Q1 如何
  • 量角器 - 查找所有元素和找到的元素的循环长度,然后单击按钮

    所以我一直在试图弄清楚如何根据 find All 元素的数量来单击按钮 x 次 这意味着如果同一个类名找到 3 个元素 那么我们循环 3 次 这应该单击按钮 3 次 我做了这样的事情 新更新 请查看底部的编辑帖子 通常情况下element