【问题标题】:Cypress seems to have stalled赛普拉斯似乎停滞不前
【发布时间】:2018-07-17 14:04:48
【问题描述】:

我是 cypress 的新手,我喜欢它的架构方式。但是,我似乎很早就遇到了一个问题,因为我正在尝试做一件非常简单的事情。

我的工作流程是: 1) 访问网站 2)输入用户名和密码 3)在下一个屏幕上,输入一个数字并按提交, 4) 在下一个屏幕上,从下拉列表中选择一个值,然后按 Enter。 5) 我到达了我网站的着陆页。

Cypress 在第 4 步之前完全可以正常工作)。它似乎在第 5 步停止。测试运行器突然停止并且没有警告或错误,显示 “糟糕,没有要运行的测试。”

从这里,当我单击“查看所有测试”按钮时,它会将我带到运行器工具。在那里,我看到某些东西仍在后台运行的迹象。我尝试等待超过 10 分钟,但在单击“停止”操作之前没有任何反应。

我该如何调试呢?我可以通过任何日志等查看正在发生的事情吗?

我的网站甚至可能有问题,但没有任何日志信息,我无法继续进行。任何帮助表示赞赏。

为了提供更多背景信息,我不认为这是一个基于超时的问题,就好像情况一样,赛普拉斯确实向我报告了这件事并停止了。然后我增加了超时时间。

我的规格文件

describe('My first test', function() {
    it('Visits  home page', function() {
        cy.visit('https://mywebsite.com:5800', {timeout: 400000}, {pageLoadTimeout: 400000}, {defaultCommandTimeout: 400000})


        cy.get('#USERNAME').type('myusername')
        cy.get('#PASSWORD').type('mypassword')

        cy.get('#loginbutton').click()

        cy.get('#SOMELEMENT_WHERE_I_TYPE_A_UNIQUE_NUMBER').type('8056')
        cy.get('#loginbutton').click()

        cy.get('#loginbutton').click()

    })
})

谢谢。

【问题讨论】:

    标签: cypress


    【解决方案1】:

    我有同样的问题。通常这与页面移出父页面有关,可以通过调用属性并将其更改为当前页面来解决。

    cy.get('.approved-content .no-auto-submit').invoke('attr', 'target', '_self');
    

    【讨论】:

      【解决方案2】:

      如果您在最初打开赛普拉斯时从终端运行DEBUG=cypress:* cypress open,则在您运行测试时将在那里打印更多调试日志信息。

      另外,向项目发送search the issues 看看是否有其他人发生过这种情况总是一个好主意。

      由于某种原因,赛普拉斯自动化进入了它认为您没有规范文件的状态。赛普拉斯对determine this is to see if there is a location.hash defined on the main window 所做的所有事情-> 通常是https://localhost:2020/__/#tests/integration/my_spec.js

      这可能是由于应用程序中的安全机制阻止您的应用程序在 iframe 中运行(赛普拉斯运行所有被测应用程序的方式)。也许在您的应用程序代码中是这样的:

      if (top !== self) {
        top.location.href = self.location.href;
      } 
      

      您可以在测试时简单地禁用这些检查,或者在赛普拉斯中您可以添加到您的测试文件(或支持文件以使其适用于每个测试文件):

      Cypress.on('window:before:load', (win) => {
        Object.defineProperty(win, 'self', {
          get: () => {
            return window.top
          }
        })
      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-21
        • 2020-12-23
        • 2023-03-23
        • 2023-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-28
        相关资源
        最近更新 更多