Cypress 柏树似乎停滞不前了

Cypress 柏树似乎停滞不前了,cypress,Cypress,我不熟悉柏树,喜欢它的建筑风格。然而,我似乎很早就遇到了一个问题,因为我正在尝试做一件非常简单的事情 我的工作流程是: 1) 参观网站 2) 输入用户名和密码 3) 在下一个屏幕上,键入数字并按submit, 4) 在下一个屏幕上,从下拉列表中选择一个值,然后按enter键。 5) 我进入我的网站的登录页 Cypress在第4步之前工作完全正常。它似乎在第5步停止。测试运行程序突然暂停,没有警告或错误,显示 “哎呀,没有要运行的测试。” 从这里,当我单击“查看所有测试”按钮时,它会将我带到run

我不熟悉柏树,喜欢它的建筑风格。然而,我似乎很早就遇到了一个问题,因为我正在尝试做一件非常简单的事情

我的工作流程是: 1) 参观网站 2) 输入用户名和密码 3) 在下一个屏幕上,键入数字并按submit, 4) 在下一个屏幕上,从下拉列表中选择一个值,然后按enter键。 5) 我进入我的网站的登录页

Cypress在第4步之前工作完全正常。它似乎在第5步停止。测试运行程序突然暂停,没有警告或错误,显示 “哎呀,没有要运行的测试。”

从这里,当我单击“查看所有测试”按钮时,它会将我带到runner工具。在那里,我看到有迹象表明,某些东西仍在后台运行。我试着等了10多分钟,但在我点击“停止”操作之前什么也没发生

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

我的网站可能也有问题,但没有任何日志信息,我无法继续。感谢您的帮助

为了提供更多的上下文,我不认为这是一个基于超时的问题,因为如果是这样的话,cypress确实向我报告了这一点并停止了。然后我增加了超时时间

我的规范文件

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时从终端运行,则在运行测试时会在那里打印更多调试日志信息

另外,让项目看看是否有其他人发生过这种情况总是一个好主意

出于某种原因,Cypress自动化会进入一种认为您没有规范文件的状态。所有Cypress都会在->中显示
https://localhost:2020/__/#tests/integration/my_spec.js

这可能是由于应用程序中的安全机制阻止您的应用程序在iframe中运行(这是Cypress运行所有受测应用程序的方式)。在您的应用程序代码中,可能类似于:

if (top !== self) {
  top.location.href = self.location.href;
} 
您可以在测试时禁用这些检查,也可以在Cypress中添加到您的测试文件(或支持文件以使其在每个测试文件上工作):


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

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