首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我有一个包含负数的字符串(例如cy.get('element').contains('-1'))时,cy.get('element').contains('text')不起作用

当你有一个包含负数的字符串时,使用cy.get('element').contains('text')方法可能不起作用的原因是,该方法默认是对元素的文本内容进行匹配,而不是对元素的属性值进行匹配。因此,当你尝试匹配包含负数的字符串时,可能无法成功。

解决这个问题的方法是使用其他适合的方法来匹配元素的属性值。在Cypress中,可以使用cy.get('element').invoke('attr', 'attributeName')方法来获取元素的属性值,然后再进行判断。

具体的步骤如下:

  1. 使用cy.get('element').invoke('attr', 'attributeName')方法获取元素的属性值,将其保存到一个变量中。
  2. 使用断言库(如Chai)来判断保存的属性值是否包含负数的字符串。

以下是一个示例代码:

代码语言:txt
复制
cy.get('element').invoke('attr', 'attributeName').then((attributeValue) => {
  expect(attributeValue).to.include('-1');
});

在上述代码中,'element'是要匹配的元素选择器,'attributeName'是要获取的属性名称,'-1'是要判断的负数字符串。

这样,就可以通过获取元素的属性值来判断是否包含负数的字符串了。

关于Cypress的更多信息和使用方法,你可以参考腾讯云的产品介绍链接:Cypress - 前端自动化测试工具

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Cypress(四)查询元素

    我们可以通过jquery常见选择器猜出Cypress元素查询api,比如 (1)id选择器 cy.get('#main-content') (2)属性筛选 cy.get('img[src^="/static...它会立马同步返回一个jQuery集合,不包含我们要找元素就立马结束了,不会去重试查询,如果有时候页面没有完全加载出来去查询,结果返回为空,但是实际上页面又有这个元素,这明显不符合我们ui自动化需求...,如果需要用jquery去满足我们查询需求,就得修改jquery代码如下: // $() 立即返回一个空集合. const $myElement = $('.element').first() //...注:在Cypress中,当您想直接与DOM元素交互,可以使用.then()将元素作为其第一个参数回调函数进行调用。... 我们可以很方便通过内容来查询获得,代码如下: cy.contains('百度首页') 这是不是很方便,当我们不知道控件css,属性等信息,照样可以轻松定位到。

    1.8K20

    你不知道Cypress系列(14) -- 一文说透元素定位

    元素定位可以说是UI自动化测试基础,没有元素定位,UI自动化就无从谈起。一般来说,一个定位器应该有如下4个属性: 1. 准确性。Locator应该准确找到你需要元素。 2. 唯一性。...HTML元素属性(例如类, 字体颜色等) value: 是你想要匹配特定值 关于这两种定位方式,网上一度很多讨论和对比,但其实没那么玄乎,其差别就以下两点: 1....('//ul[@class="todo-list"]') //xPath 4-5. cy.contains('iTesting') //文本定位 6. cy.get('[class="todo-list...1. 定位,首先采用不会更改元素和属性(首选开发加了id,次选CSS定位) 2. 避免使用文本,数字来定位(想想多语言和排序就知道为什么) 3....(例如,如果你想找子元素,可以从父节点找起。如果一个filter不行,可以加别的filter, 例如a[href*=user_edit]:not([href$='user_id=1'])) 5.

    1.8K30

    Cypress初步使用

    解决了开发人员和QA工程师在测试现代应用程序时面临关键难点问题。   Cypress包含免费、开源、可本地安装Test Runner 和 能够记录测试控制面板服务。...【可调试】 我们无需猜测测试用例为何失败,直接从熟悉工具进行调试(例如:谷歌浏览器开发者工具),可读错误和堆栈跟踪让调试更有效率。...【视图快照和视频】从命令行运行测试,我们可以查看失败用例视图快照和整个测试过程视频。...image 2)我们也可以自己新建一个测试文件: ① 首先切换至目录 ~\Cypress\cypress\integration(任意编辑器都可以,我使用PyCharm) ?...1") // cy.contains("Sign In").click() cy.get('[class="etc-login-btn"]').first()

    1.4K40

    你不知道Cypress系列(15) -- 支持跨域访问了!

    但是Cypress并不是完美无瑕,我们在使用Cypress做自动化测试,经常会提一个问题就是,Cypress不支持跨域访问,而我测试需要跨域怎么办?...今天在Cypress中国群内,同学抛出了以下这个待发行解决方案,我看了后顿时觉得好香,特记录之。(永远不要怀疑Cypress开发团队愿景:The web has evolved....options: 这个参数是一个普通 JavaScript 对象,它将被序列化并从主要来源发送到次要来源。从那里它将被反序列化并作为第一个也是唯一参数传递给回调函数。...callbackFn: 此参数包含要在次要来源中执行Cypress命令函数。Cypress将触发此函数并从当前Cypress实例传递到次要源并进行评估。...cy.contains('Next').click() cy.get("input[type='password']").type('你密码')//密码也是一样写死了。

    2.5K52

    Cypress学习笔记4——编写第二个测试脚本(登录案例)

    引言   前面一节已经讲过访问百度脚本,现在一个登录UI自动化案例,以禅道为例(暂时不用公司网站,最近公司信息安全管控比较严格)。   ...首先我们写一个登录用例,就要捋好各个节点:   1、输入账号;   2、检查账号;   3、输入密码;   4、检查密码;   5、点击登录;   6、判断页面重定向跳转到首页;   7、判断页面包含某个文件...').should('exist') }) })   执行脚本   还是启动Cypress程序,双击脚本login_web.js  执行结果:   脚本分析   1、Cypress特性之一...2、最后三个断言:   一个是断言url:    3、我们知道元素定位方式一般两种: get:按 css 或元素特定属性方式定位元素 contains:按特定字符串定位元素   所以是断言body中...4、就是验证登录后cookies:    以上内容就是这些。   总结   兴趣可以持续关注。另外喜欢测试开发、性能测试伙伴可以加入学习交流QQ群,一起学习成长。

    88830

    自动化测试工具在敏捷开发中选择与使用

    常见自动化测试工具对比敏捷开发中自动化测试主要集中在单元测试、UI测试和API测试。以下是几款常用自动化测试工具,每个工具都在特定测试类型上有独特优势。1....例如:前端项目:如果是 JavaScript 框架(如React、Vue、Angular)构建前端项目,优先选择Jest或Cypress,因为它们与JavaScript生态兼容性好。...Cypress在项目中应用为了展示如何在敏捷开发中应用自动化测试工具,下面我们将展示如何使用Cypress进行端到端测试。假设我们一个简单待办事项应用,用户可以添加、查看、删除待办事项。...(); cy.contains('New Todo').should('exist'); }); it('should delete a todo', () => { cy.get('[...(); cy.contains('Another Todo').should('exist'); cy.get('[data-testid="delete-todo-button"]').click

    11410

    你不知道Cypress系列(3) -- 是时候重构自己思维了!

    下面我们来一个个分析: (一)诡异赋值 01 — 赋值不起作用 赋值操作是最常见了,赋值最常用场景是获取元素某个属性供以后使用。...') assert value == "iTesting" Cypress: //获取元素属性值,并比较 cy.get('#kw').should('have.text', 'iTesting')...(三)拒绝条件测试 01 — 前面我提到了条件测试(Conditional Testing),实际上,条件测试常见常景如下: 1. 我想在元素存在或者不存在,执行不同操作。 2....别忘记,Cypress是运行在浏览器之内,是跟你应用程序运行在同一个生命周期,你对你应用程序完全控制权! 听起来很好,不过很可惜。...这句话主要是对开发说,对我们QA来说,用处不大(因为我们QA还是不知道改哪行代码啊!)。 不过,这里还是一些原则, 比如: 1.

    2.2K20

    Cypress系列(6)- Cypress 重试机制

    最后断言解析 检查标签为 h1 元素是否包含 jane.lane 断言一般步骤 用 查询应用程序DOM,找到元素 cy.get() 针对元素或元素列表进行断言尝试 ,我们示例中为 .should...,则该命令成功执行完成 cy.get() 命令之后断言失败,则 cy.get() 命令会自动重新查询 web 应用程序 DOM 树,然后 Cypress 将再次尝试对 cy.get() 返回元素进行断言...在多重断言中,Cypress 将按顺序进行断言,即当第一个断言通过后,会进行第二个断言,通过后进行第三个断言...以此类推 列表栗子 需求 假设一个下拉列表,存在两个选项,第一个选项是“iTesting...代码解析 总共有三个断言:一个 ,两个 expect() should() 断言实际上是 should() 断言别名,它是 should() 自定义回调断言,其中包含两个 expect() 断言...DOM 命令: 、 find() 、 contains() 等 cy.get() 可以通过官方文档 Assertions 部分来检查是否重试了特定命令:https://docs.cypress.io

    2K10

    前端自动化测试框架cypress

    关于自动化测试,一个测试金字塔模型,该模型把测试从下到上分为了单元测试、集成测试和UI自动化测试(E2E测试/UI界面测试)。...支持使用web浏览器上开发工具直接调试,丰富错误和堆栈跟踪信息,支持debug调试,随时暂停。 自动等待ui更新,减少异步代码,在页面某些元素还没出来时候,通常我们会添加等待代码。...contains(selector) // 搜索定位元素 .find(selector) // 方法用来获取DON元素子元素 .children() // 用来获取DOM元素所有父元素...() // 用来获取指定DOM对象最后一个元素 .last() // 用来匹配DOM对象紧跟着一个同级元素 .next() // 用来匹配给定DOM对象所有同级元素 .nextAll...btnTxt = $btn.text(); cy.log(btnTxt); }); 清除文本 //清除 input 输入cy.get("div>a").clear(); cy.get("div

    2.1K40

    Cypress 踩坑记 - DOM 遮挡

    Cypress 是一个非常流行测试工具,然而实际使用过程中发现一些问题,这里做些记录。...问题发现在 Cypress 下 click 是非常常用指令,然而在一些特殊场景下 click 并不能如想象中那般正常工作。比如现在有一个弹窗,我们需要测试在点击遮罩层是否可以正常关闭弹窗。...('.mantine-Button-root').click(); cy.get('.mantine-Modal-root').should('exist'); cy.get...结果验证那我们来验证下是不是如此,首先我们先创建一个非常小遮挡元素,然后放在中央位置,测试下是不是会出问题。代码如下:import style from '....图片最后说实在 Cypress 这样遮挡检查方式不太妥当,过于简单粗暴而且很容易让人困惑。理论上而言可以使用 layer 层层比对交叉区域来判定更为妥当。不知道是不是什么文档导致放弃了。

    41900
    领券