Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cypress 获取复选框的选中值-材质设计_Cypress - Fatal编程技术网

Cypress 获取复选框的选中值-材质设计

Cypress 获取复选框的选中值-材质设计,cypress,Cypress,我有一个页面,使用一个基本的基于引导的管理BSB材料设计 我很难从这个设计中的复选框中得到一个值 “选中”的复选框示例: 即使我添加了datacypress=“mycheckbx”属性,我也发现cypress没有找到checkbox控件 所以我的问题是:在这个场景中,我如何获得“checked”属性 使用的样式: [type="checkbox"].filled-in:not(:checked)+label:before { width: 0; height: 0;

我有一个页面,使用一个基本的基于引导的管理BSB材料设计

我很难从这个设计中的复选框中得到一个值

“选中”的复选框示例:

即使我添加了
datacypress=“mycheckbx”
属性,我也发现cypress没有找到checkbox控件

所以我的问题是:在这个场景中,我如何获得“checked”属性

使用的样式:

[type="checkbox"].filled-in:not(:checked)+label:before {
    width: 0;
    height: 0;
    border: 3px solid transparent;
    left: 6px;
    top: 10px;
    -webkit-transform: rotateZ(37deg);
    transform: rotateZ(37deg);
    -webkit-transform-origin: 20% 40%;
    transform-origin: 100% 100%
}

[type="checkbox"].filled-in:not(:checked)+label:after {
    height: 20px;
    width: 20px;
    background-color: transparent;
    border: 2px solid #5a5a5a;
    top: 0;
    z-index: 0
}

[type="checkbox"].filled-in:checked+label:before {
    top: 0;
    left: 1px;
    width: 8px;
    height: 13px;
    border-top: 2px solid transparent;
    border-left: 2px solid transparent;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotateZ(37deg);
    transform: rotateZ(37deg);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%
}

[type="checkbox"].filled-in:checked+label:after {
    top: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #26a69a;
    background-color: #26a69a;
    z-index: 0
}

看来我所需要做的就是:

cy.get('#pract-haspen').should('have.attr', 'checked')    
这一断言奏效了


谢谢

如果
attr
不适合您,请尝试
prop

cy.get('#pract-haspen').should('have.prop', 'checked')

由于上述解决方案对我都不起作用,我这样做了:

cy.get('#element').should('be.checked'))

来源:

这是一个带有断言测试的问题

如果您想获得该值并在某处使用它,您可以简单地:

cy.get('#elementQuery').then(elem => {
   var value = elem.val()
   ...do anything you want, like if(value == 'on')...
})
 

请您提供您尝试过的Cypress代码,并解释您希望它做什么。我这样问是因为断言一个框是否被选中与实际将“选中”状态存储在一个变量(true或false)中的方式不同,您可以在Cypress规范中使用后者。