cypress - 赛普拉斯工具 - 如何在显示和隐藏按钮上执行点击操作,无法在此按钮上执行操作
问题描述
我有一个像下面这样的场景,当我在输入框操作中填充一些数据时,隐藏和显示按钮将显示按钮,否则按钮处于隐藏模式以下是代码,请建议我在输入代码后如何运行我的自动化代码的解决方案输入框
当按钮启用模式 - 在输入框中没有输入文本
<button data-v-320fbb42= type="button" disabled="disabled" class="btn z-btn mr-1 btn-primary rounded-0 disabled" style="position: relative;"><div data-v -320fbb42= class="d-flex flex-row justify-content-center align-items-center">保存</div></button>
else when button disabled mode -- 在输入框中输入正确的文本后
<button data-v-d0c5d35c= type="button" class="btn z-btn mr-1 btn-primary rounded-0" style="position: relative;"><div data-v-d0c5d3c= class=d -flex flex-row justify-content-center align-items-center> 保存</div></button>
所以我尝试了下面的所有场景,但注意到工作正常,cy.get('button').should('be.disabled').invoke('show').should('be.enabled').contains( '保存').click()
cy.contains('Save').click({force: true})
cy.get('button', 'Save').should('be.disabled');
cy.contains('button', 'Save').click();
感谢您的建议或帮助
解决方案
由于您的禁用状态基于一个类 - 我在https://docs.cypress.io/api/commands/should.html#Value中找到了下一个验证解决方案
cy.get('button', 'Save').should('have.class', 'disabled')
cy.input(inputSelector).type(text)
cy.get('button', 'Save').should('not.have.class', 'disabled')
以及强制启用它的解决方案
$(selector).removeClass('disabled')
cy.get('button', 'Save').should('not.have.class', 'disabled')
推荐阅读
- python - 如何完成此 WebScrape 代码以获取电影的标题?
- symfony4 - fosjsrouting 转储不正确的路径
- python - 跨索引数组获取最小值
- python-3.x - Python 程序在启动时在 tmux 会话中运行时崩溃
- c - 为什么某些预处理器宏不扩展,除非它们是另一个宏的参数?
- android - ViewPager2 fragments overlap tabbed items
- c++ - vkCreateSwapchainKHR():未检索到此物理设备的表面功能
- python - 类型错误:join() 参数必须是 str 或 bytes,而不是 'list'
- python - 用 yum 安装 python-devel
- reactjs - 胜利本机:使用胜利条形图时,事件道具在本机反应中不起作用/事件在本机反应中未触发