javascript - 即使第一个“if”语句条件为真,赛普拉斯(javascript)“else”块也会执行
问题描述
赛普拉斯和 JavaScript 新手,请帮助
我正在自动化测试用例以检查按钮的启用/禁用状态,条件是一些元素具有值为 '/Client/images/iconNo.png' 的 'src' html 属性(按钮将被禁用)和/Client/images/iconYes.png(按钮将被启用)。
我使用 if 语句通过包装对象以获取值并使用 '.then()' 方法来检查上述条件,下面是 javascript 代码
cy.get('.eligibilitySuccessfulGrant > :nth-child(1) > .cursor')
.then(($checkListIcon) =>{
if(cy.wrap($checkListIcon).should('have.attr', 'src', '/Client/images/iconNo.png')){
verifyQIAPTab.clickRequestOrientation().should('be.disabled')
}
else (cy.wrap($checkListIcon).should('have.attr', 'src', '/Client/images/iconYes.png'))
{
verifyQIAPTab.clickRequestOrientation().should('be.enabled').click()
}
})
问题:如果第一个“if”语句为真,那么它应该通过测试用例,但赛普拉斯抛出一个错误,即不满足 else 条件。
柏树正在检查这种.should('be.enabled').click()
情况。我该如何解决这个问题?
或者
赛普拉斯还有其他方法可以检查我的上述测试用例吗?
请帮助和建议 非常感谢提前
解决方案
不能使用赛普拉斯命令来执行if()
,命令总是返回一个非真/假的对象。
使用 jQuery 代替命令
if ($checkListIcon.attr('src') === '/Client/images/iconNo.png')
推荐阅读
- android - 从 TabLayout 中删除左边距
- javascript - 在 useEffect 中针对异步函数的 React Hook 警告:useEffect 函数必须返回一个清理函数或什么都不返回
- amazon-cloudformation - 使用 cloudformation 创建 AWS ECS 任务服务时出现异常
- c++ - 原子操作需要硬件支持?
- c# - Parallel.Foreach() 没有结果
- node.js - 使用节点读取受密码保护的 excel 文件
- arrays - 为什么 Scala 语言中的 ++: 运算符如此奇怪?
- python - 如何在 ubuntu 机器上自动登录 jupyterhub
- javascript - 具有水平和垂直滚动的 HTML 表格,第一列固定
- android - 如何在 Xamarin 的 Android 绑定项目中绑定通用 Java 类?