循环元素后测试字母顺序

2023-12-21

我尝试编写一些代码来检查下拉菜单中选项的字母顺序。 所以我所做的就是循环下拉菜单并将选项的值添加到数组中。然后我想检查数组的值是否按字母顺序排列。到目前为止我有这个代码:

var optionsArray = []
cy.get('#filter1 option').each(($el, index) => {
    optionsArray[index] = $el.text()
})
expect(optionsArray).to.equal(optionsArray.sort())

HTML:

<select id="filter1" class="form-control abc">
<option value="" selected="selected">text1</option>
<option value="text2">text2</option>
<option value="text3">text3</option><!----></select>

问题是它在不应该通过的时候通过了测试。控制台中出现以下内容:预期 [] 等于 []并且expect()命令似乎在任何其他应该运行的命令之前运行。

如何按字母顺序对数组中的值进行排序并比较选项是否相等?

编辑: 这是有效的新代码:

        var optionsArray = []
        var optionsArraySorted = []
        cy.get('#filter1 option').each(($el, index) => {
            optionsArray.push($el.text())
            optionsArraySorted.push($el.text())
        })
        .then(() => {
            expect(optionsArray).to.deep.equal(optionsArraySorted.sort())
        })

由于 Cypress 命令的异步特性,您必须添加.then() after .each()为了让它发挥作用。

Try this

var optionsArray = []
cy.get('#filter1 option').each(($el, index) => {
    optionsArray[index] = $el.text()
})
.then(() => {
  expect(optionsArray).to.deep.equal(optionsArray.sort())  // note deep for arrays
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环元素后测试字母顺序 的相关文章

  • 使用 cypress 上传/导入 Excel 文件

    I ve a UI similar to 我需要将已放置在固定文件夹中的 xlsx 文件上传到应用程序中 有什么建议如何使用 cypress 来做到这一点吗 这是我发现的解决方案 安装 cypress 文件上传 npm install sa
  • 在 _app 中模拟 Next.js getInitialProps

    我正在尝试寻找一种方式来嘲笑Next js s getInitialProps 我目前正在使用 cypress 运行 E2E 测试 但无法找到一种方法来模拟服务器端获取 而不需要启动模拟服务器来进行获取 我很好奇是否有人找到了更好的方法 谢
  • Cypress 断言等于和大于

    如何在cypress中编写大于等于的断言 如果我的值 5000 00 并且我必须编写测试用例 如果我的值 5000 00比通过并且如果我的值 gt 5000 00也通过 如何正确编写它通过 my value 5000 00 expect m
  • Nextjs Cypress 只发现单元测试代码覆盖率

    我正在尝试在此之后向 cypress 添加代码覆盖率tutorial https docs cypress io guides tooling code coverage Introduction I added cypress code
  • Cypress 组件测试拦截 getServerSideProps 请求

    使用 cypress 组件测试时无法弄清楚如何拦截 getServerSideProps 做了很多研究和最好的线索链接 https github com cypress io cypress discussions 9328 https g
  • 如何将参数传递给google cloud build中的docker run

    我正在尝试使用 GCB 运行 cypress 管道 但在 docker 内运行时它崩溃了 如描述的那样解决此问题here https github com cypress io cypress issues 350 是运行 docker i
  • 带 cookie 的 Testcafe 请求

    我试图在 testcafes API 中找到类似于 Cypress 请求的方法 柏 request https docs cypress io api commands request html Cookies会将任何 cookie 附加到
  • Cypress.io 测试中未发生拖放

    我试图拖动一个元素 然后将其放入放置区域 但测试并未在 Cypress io 中执行拖放操作 如果有人可以就这里的潜在问题提出建议 那将非常有帮助 没有抛出错误 但是这里仍然没有发生拖放 describe Verify the drag a
  • 如何在 Cypress.io 中等待 WebSocket STOMP 消息

    在我的一项测试中 我想等待 WebSocket STOMP 消息 Cypress io 可以做到这一点吗 如果您要访问的 websocket 是由您的应用程序建立的 您可以遵循以下基本过程 获取参考WebSocket来自测试内部的实例 将事
  • cypress 登录后等待重定向

    我正在使用 cypress 测试一个网络应用程序 我登录我的beforeEach功能 然后 在我的不同测试中 我开始cy visit mysite com url 我的问题是登录后 网站重定向到网站的特定页面 此重定向发生在cy visit
  • 交互运行 cypress 命令

    是否可以打开浏览器并交互运行 cypress 测试命令 类似于使用scriptsChrome 开发者工具中的选项卡 每次启动浏览器运行测试花费的时间太长 我理解这种痛苦 但据我所知 赛普拉斯的自动扫描功能会在您更新测试时 重新运行 测试 换
  • Cypress 与 NextJS SSR - 使用 Axios 拦截 RESTful API

    我正在尝试在我的 SSR next js 应用程序上使用 cypress 和固定装置编写一些测试 该应用程序使用 Axios 连接到 RESTful API 但我在拦截 RESTful API 时遇到了麻烦cy intercept 因为 c
  • 从项目根目录移动 cypress 文件夹

    当我安装并运行 cypress 时 它会搭建一个cypress 我的项目根目录中的文件夹 问题是所有其他测试相关数据都存储在test 文件夹 有没有简单的方法可以将其移动到test cypress并配置 cypress 来查看那里 赛普拉斯
  • 使用请求方法登录Cypress

    我注册并登录用户 但是 当在测试中导航到身份验证后面的页面时 Cypress 失败并将我带回登录页面 从它的外观来看 before函数已成功执行 由 API 日志验证 这是我的代码 describe Dashboard page gt be
  • 在笑话单元测试角度中显示正确的错误

    我正在 NX 角度工作区中编写单元测试 有时它会给出这样的错误 node 15320 UnhandledPromiseRejectionWarning TypeError Converting circular structure to J
  • Cypress:信用卡支付的自动测试[重复]

    这个问题在这里已经有答案了 我正在做信用卡付款的自动测试 不幸的是 测试在 到期日期 项中失败了 my code cy getWithinIframe name cardnumber type 4242424242424242 cy get
  • 如何使用 cypress.io 处理 PayPal 弹出窗口上的元素

    我需要自动化端到端测试 包括使用 PayPal 购买订单 此测试包括验证购买订单后出现的屏幕中的某些元素 我目前正在尝试使用 cypress io 我知道赛普拉斯建议不要访问第三方网站 https docs cypress io guide
  • 使用 Cypress 绕过 UI 登录

    我在绕过 UI 登录时遇到问题 我的 Web 应用程序不使用 API 来验证用户身份 没有像这样的端点 login index php只需打开登录页面并提交表单即可登录 应用程序通过以下方式对用户进行身份验证auth REQUEST use
  • Cypress:在 JSON 响应中存根特定键

    我想在 Cypress 中存根以下响应 专门存根密钥ds version 可能的值为 0 1 或 2 每个值将在 UI 上显示不同的元素 fixtures user json email email protected cdn cgi l
  • 如何使用 cypress 断言输入值是真实的

    我有一些意见

随机推荐

  • jQuery 显示/隐藏 Div

    我将其用于显示 隐藏 div 扩展器 它工作正常 但是 HTML 实体没有被输出 document ready function slickbox hide slick toggle toggle function this text 96
  • ZADD 或 HMGET 等 Redis 命令可以处理的参数数量是否有限制?

    我想使用单个 ZADD 或 HMGET 命令而不是 MULTI EXEC ZADD 可以处理的 分数 成员 元组的数量有限制吗 HMGET 可以处理的字段数量有限制吗 理论上的限制相当高 但你应该以不会达到它的方式设计你的读数 保持读取大小
  • OpenThread() 返回 NULL Win32

    我觉得这个问题有一个明显的答案 但它一直在逃避我 我这里有一些 C 遗留代码 当它尝试调用 OpenThread 时 这些代码会中断 我在 Visual C 2008 Express Edition 中运行它 程序首先获取调用线程的 Thr
  • 过程没有参数并且提供了参数 3

    存储过程返回一个值 ALTER PROCEDURE dbo spCaller AS BEGIN DECLARE URL nvarchar 255 EXECUTE spBuscarUrl MIREX 2017 00001 url URL OU
  • Jenkins + Git:仅当 PR 在子目录中引入更改时才构建

    我们有一个大型 monorepo 其中包含多个项目 A 和 B 我目前将 Jenkins 设置为多分支管道项目 用于监视 monorepo 的 PR 如果创建了 PR Jenkins 会同时构建 A 和 B 现在 我希望 Jenkins 变
  • 解析if-else if语句算法

    我正在尝试为 if else 类型结构创建一个非常简单的解析器 它将构建并执行 SQL 语句 我不会测试执行语句的条件 而是测试构建字符串的条件 声明的一个例子是 select column1 from if VariableA Case1
  • 方法内部的 self 有什么意义?

    我正在七周内阅读七种编程语言 其中一个问题指出 你会如何改变 回来0如果分母为零 我首先尝试定义自己的 并将其实现代理到原始的 像这样的方法 Number oldSlash Number getSlot Number method x Nu
  • 如何在 Swift 4 中连接 Socket

    我想将我的应用程序连接到套接字 这里是代码 import UIKit import SocketIO class SocketIOManager NSObject static let manager SocketManager socke
  • 地理编码 API 有多少请求是免费的?

    我想使用 Google Geocoding API 从纬度 经度获取地址 为此 我想知道 使用免费帐户可以完成多少次点击 下面的链接显示了每 24 小时内 2 500 个免费请求 Google 地理编码 API 免费吗 https stac
  • 在专有软件中使用 Glassfish 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在 CDDL GPLv2 许可证下的专有软件中使用 Glassfish 的某些部分 我可以这样做吗 我没有修改这些库的代码中的任何内容
  • 如何在我的 ASP.NET 菜单中使用 Bootstrap 风格的 BreadCrumb?

    我是一名新的 ASP NET 开发人员 也是 Twitter Bootstrap 的新用户 我试图在我的 ASP NET 应用程序中添加面包屑导航 我已经开发了它 但我正在尝试在其上应用 Twitter Breadcrumb 的风格 将特定
  • WebAPI POST [FromBody] 未绑定

    我将 JSON 发布到 WebAPI 控制器 但模型上的属性未绑定 public void Post FromBody Models Users User model throw new Exception model Id ToStrin
  • 如何指示 GCC 在出现 5 个错误后停止?

    是否可以指示 GNU c 编译器在发现 5 个错误后停止 在文档中找不到这个 命令行选项 fmax errors N https gcc gnu org onlinedocs gcc 4 6 0 gcc Warning Options ht
  • 在 MATLAB 中将 ASCII 代码转换为字符串

    如果我在 matlab 中有一个字符串 我可以使用以下命令将其转换为 ASCII 代码向量double gt gt my string asd gt gt double my string ans 97 115 100 我怎样才能从另一条路
  • 如何找到张量对象中每一行的最大索引?

    因此 我正在创建一个 pytorch 模型 对于前向传递 我应用前向传递方法来获取包含每个类别的预测分数的分数张量 该张量的形状为 100 10 现在 我想通过将其与包含实际分数的 y 进行比较来获得准确性 该张量的形状为 100 为了比较
  • 玩2.5 Ebean和JPA:NoSuchMethodError

    我在将项目迁移到 Play 2 5 时遇到了另一个问题 其中一个项目同时使用 Ebean 和 JPA 这是build sbt name Project version 1 0 SNAPSHOT lazy val root project i
  • getParcelable() 由于 AGP 8 中的 ifTable 为空而崩溃

    我最近更新到了 AGP 8 并在 Play 商店上发布了更新 我收到一些最近未更改的代码区域发生崩溃的报告 我相当有信心这是由 AGP 8 升级引起的崩溃 特别是在 R8 全模式周围 崩溃周围的代码正在恢复布局管理器的状态 恢复代码 if
  • 如何使用 SQL 命令在 C# 中实现此计划?

    我有两张桌子 表 1 带栏name markaz nvarchar 100 code markaz nchar 20 表 2 带栏name markaz nvarchar 100 code markaz nchar 20 我想实现这个计划
  • 按钮上的 KeyboardAwareScrollView

    我在屏幕底部有一个按钮 在屏幕顶部有一个输入字段 什么时候
  • 循环元素后测试字母顺序

    我尝试编写一些代码来检查下拉菜单中选项的字母顺序 所以我所做的就是循环下拉菜单并将选项的值添加到数组中 然后我想检查数组的值是否按字母顺序排列 到目前为止我有这个代码 var optionsArray cy get filter1 opti