首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Cypress中访问组件属性

如何在Cypress中访问组件属性
EN

Stack Overflow用户
提问于 2019-11-22 19:17:12
回答 1查看 3.6K关注 0票数 1

我有一个包含两个项目的“选择器”组件(类似于分段控件),它在被选中时是黄色的,在未被选中时是灰色的。我想测试一下,单击其中一个选项是否会将其变为选中状态。

元素是一个带样式的按钮:

代码语言:javascript
运行
AI代码解释
复制
const LeftButton = styled(Button)({
  borderTopLeftRadius: '10px',
  borderBottomLeftRadius: '10px',
  borderRight: 'solid 2px #545454',
});

const RightButton = styled(Button)({
  borderTopRightRadius: '10px',
  borderBottomRightRadius: '10px',
});

        <Group>
          <LeftButton
            data-testid={'OPTION_1'}
            active={option == 1}
            onClick={() => toggleParameter(1)}
          >
            1
          </LeftButton>
          <RightButton
            data-testid={'OPTION_2'}
            active={option === 2}
            onClick={() => toggleParameter(2)}
          >
            2
          </RightButton>
        </Group>

查看呈现的HTML,看起来唯一可用的信息就是类。例如,以下是选项1被选中而选项2未被选中时的外观:

代码语言:javascript
运行
AI代码解释
复制
<div data-testid="OPTION_1" class="css-1z12orh">1</div>
<div data-testid="OPTION_2" class="css-14vfpcp">2</div>

当选项2被选中而选项1没有被选中时,类不会切换,它们实际上生成了新的类,尽管幸好每次生成的类都是相同的gobbledegook。

要在Cypress中断言是否选中了一个,我必须在这个随机的类名上断言,对吗?有没有办法访问实际组件的属性,这样我就可以在props.active上断言?

Cypress知道react组件的存在吗,还是只知道HTML元素?

EN

回答 1

Stack Overflow用户

发布于 2020-08-08 08:02:32

您可以使用cypress-react-selector

将其另存为dev依赖关系:

代码语言:javascript
运行
AI代码解释
复制
npm i -D cypress-react-selector

您可以从React元素获取React属性,并在运行时验证这些属性。

代码语言:javascript
运行
AI代码解释
复制
describe('It should validate cypress react selector', () => {
  before(() => {
    cy.visit('https://localhost:300');
    cy.waitForReact();
  });

  it('it should validate react selection', () => {
    cy.react('MyComponent').should('have.text', 'abcd');
  });
});

使用cypress-react-selector和@cypress/react库进行单元/组件/集成测试。几个方便的示例- https://github.com/abhinaba-ghosh/cypress-react-selector/tree/master/component

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59000442

复制
相关文章
如何在Vue组件中访问Vuex store中的状态?
在Vue组件中访问Vuex store中的状态,可以通过计算属性 (computed properties) 或者直接通过$store.state来实现。
王小婷
2023/10/02
1.7K0
Cypress学习14-window窗口属性
To get the document object, use the cy.document() command. 要获取document对象,请使用cy.document()命令。
上海-悠悠
2020/05/15
8840
属性访问
通常可以通过点(.)操作符的形式去访问对象的属性,关于属性的访问,也有相应的魔法方法来管理,
天钧
2019/07/28
8600
(五)在组件中访问状态
一、在组件中访问状态 store.js import { ref, computed } from 'vue' import { defineStore } from 'pinia' export const useNoteStore = defineStore('note', () => { const noteList = ref([ { // ... } ]) return { noteList
老怪兽
2023/02/22
2.4K0
Python 中几种属性访问的区别
python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__。本文阐述它们的区别和用法。
Python猫
2019/08/06
2.4K0
Python 中几种属性访问的区别
Cypress系列(56)- 避免访问多个站点
https://www.cnblogs.com/poloyy/category/1768839.html
小菠萝测试笔记
2020/09/28
1.1K0
Cypress系列(56)- 避免访问多个站点
【Android Gradle 插件】Gradle 扩展属性 ④ ( 扩展属性访问方式 | 直接访问扩展属性 | 通过 ext 对象访问 | 在 gradle.properties 中定义扩展属性 )
也可以 通过 project.ext.hello 访问该扩展属性 , 代码如下 :
韩曙亮
2023/03/30
3K0
【Android Gradle 插件】Gradle 扩展属性 ④ ( 扩展属性访问方式 | 直接访问扩展属性 | 通过 ext 对象访问 | 在 gradle.properties 中定义扩展属性 )
Cypress 10.x 组件测试指南
最近两年测试界最火的测试工具莫过于Cypress,作为测试工程师弯道超车必备、下一代UI自动化测试利器,Cypress开发团队也一直在拼命做事,这不,Cypress10.x重磅发布,将“Component Testing”重磅引入到了测试团队。测试人员又可以将自己的势力版图向开发侧移动一下啦 :)
iTesting
2022/09/01
1.3K0
Cypress 10.x 组件测试指南
如何在Vue组件中定义方法
在上述示例中,使用 methods 选项来定义了两个方法:methodName 和 anotherMethod。你可以根据需要添加任意数量的方法。
王小婷
2023/09/13
1K0
如何在CVM实例中访问对象存储
对象存储服务与客户的VPC打通,需要客户先确认在哪个子网中使用。由腾讯云工程师进行网络配置,会在客户指定的子网中配置一个vip并与对象存储打通并映射。
本地专用集群CDC
2023/04/21
4.3K0
如何在 TypeScript 中为对象动态添加属性?
在 TypeScript 中,我们经常需要在运行时动态添加属性到对象上。这是因为 TypeScript 是一种静态类型语言,类型系统在编译时会检查代码的类型安全性,所以在编译时我们无法确定对象上将要添加哪些属性。在本文中,我们将讨论如何在 TypeScript 中为对象动态添加属性,以及这样做的一些注意事项。
网络技术联盟站
2023/06/07
14.6K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
8.9K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
外部访问 Vue 中的 methods方法及其属性
如上面Vue的使用的话,可以使用 vm.add() 进行访问,vm 就是当前vue实例的对象。
White feathe
2021/12/08
6K0
外部访问 Vue 中的 methods方法及其属性
JavaScript数据属性和访问器属性
看《深入理解JavaScript》的this篇时看到“访问器属性”这个不熟悉的名词,百度后找到两篇感觉比较合适的文章,整合记录一下,以参考资料2为主,参考资料1为辅助补充。
WindCoder
2018/09/20
1.9K0
Swift:属性访问类别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
菜菜不吃蔡
2019/11/03
8970
Swift:属性访问类别
React篇(020)-如何在 React 中创建组件?
答案:有两种可行的方法来创建一个组件: 1. Function Components: 这是创建组件最简单的方式。这些是纯 JavaScript 函数,接受 props 对象作为第一个参数并返回 React 元素:
齐丶先丶森
2022/05/12
3.8K0
Vue3中的组件:组件的定义、组件的属性和事件、组件的Slots和动态组件
Vue是目前最流行的JavaScript框架之一,它提供了一种简洁、高效的方式来构建用户界面。在Vue中,组件是构建应用程序的核心概念之一。组件可以封装可重用的代码块,使代码更易于维护和扩展。Vue3是Vue.js的最新版本,在这个版本中引入了许多新特性和改进。本文将详细介绍Vue3中的组件,包括组件的定义、组件的属性和事件、组件的Slots和动态组件等相关内容。
网络技术联盟站
2023/07/06
13.1K0
Vue3中的组件:组件的定义、组件的属性和事件、组件的Slots和动态组件
浅谈JavaScript 数据属性和访问器属性
创建自定义对象通常有两种方法,第一种就是创建一个Object的实例,然后再为其添加属性和方法,例如:
李才哥
2019/07/10
1.5K0
浅谈JavaScript 数据属性和访问器属性
点击加载更多

相似问题

如何在cypress中定位自定义组件的属性?

129

如何在Cypress中测试用户界面抽屉组件属性值

15

如何在CI中运行Cypress组件测试

13

如何在Cypress中测试无限滚动组件

15

如何在componentkit中访问组件的属性?

11
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档