首页
学习
活动
专区
工具
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群,一起学习成长。

    88130

    你不知道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 层层比对交叉区域来判定更为妥当。不知道是不是什么文档导致放弃了。

    41100

    推荐几款常用Web自动化测试神器!

    1、介绍 Web自动化测试在保证质量、提升效率、软件开发加速迭代上起到关键作用,它已经成为现代软件测试中不可或缺一部分,今天给大家介绍推荐几款常用Web自动化测试工具。...选择熟悉语言可以更快上手。 环境搭建:根据选择编程语言,安装相应开发环境和Selenium库。例如,使用Python可以通过pip安装selenium库。...强大API:Selenium提供了丰富API,可以完成各种操作,如元素定位、页面导航、表单填写等。 社区支持:Selenium庞大社区支持,可以获取到大量学习资源和解决问题帮助。...= driver.find_element_by_id("element_id") element.send_keys("example") # 断言 assert "Example" in driver.title...第一个测试用例验证页面标题是否包含"Example",第二个测试用例模拟填写表单并提交,然后断言结果是否包含"Thank you"。在每个测试用例之前,都会打开网页。

    2.4K30
    领券