赛普拉斯中没有出现“模态/弹出窗口”

时间:2020-05-27 14:30:13

标签: javascript testing automated-tests cypress e2e-testing

我有一个页面,当您访问该站点时,将出现一个模态/对话框窗口。但是,当我通过赛普拉斯运行它时,它似乎没有出现在跑步机上。 示例代码:

cy.visit('http://demo-site.com')
cy.get('[id="modal"]').invoke('show') // This works so it seems the element can be found.
.get('[id="ok-button"]').click(); // This does not work as this is an element inside the modal

元素控制台的片段:

<div id="modal">
 <div class="modal-container">
  <div class="ui-container">
   <div class="ui-mask ui-mask-is-active" aria-hidden="false">
    <section class="ui-modal ui-modal-layout" tabindex="0" role="dialog">
     <footer class="ui-modal--footer ui-actions ui-actions-layout">
      <button id="ok-button" type="button">OK</button>
     </footer>
    </section>
</div></div></div></div>

注意:我已经检查了此博客,但问题是我的博客上出现了日历模式,但没有:https://www.cypress.io/blog/2019/01/22/when-can-the-test-click/

1 个答案:

答案 0 :(得分:-1)

我不明白这个问题,但如果你不能点击显示模态的按钮,你可以执行以下操作: cy.wait(500); 点击前显示模态:

cy.visit('http://demo-site.com')
cy.url().should("equal", 'http://demo-site.com');
cy.wait(500);
cy.contains("Şifremi Unuttum?").click({
        force: false
});

我希望,这对你有帮助:)