处理 Cypress url 重定向

IT技术 javascript reactjs testing cypress end-to-end
2021-05-04 16:32:21

我有一个 Cypress 测试,它单击图像导致重定向到特定 url。然后测试检查 url 是否包含特定字符串。

但是,单击此图像会导致测试停止/失败,并显示“糟糕,没有要运行的测试”。重定向发生时的消息。

Cypress 测试非常简单:

/* global describe, it, cy */
import loadStory from '../../../config/cypress/helpers/loadStory'

const component = 'product-card'
const productCardImage = '[data-test=component-product-card_imageContainer]'

describe(`${component} component interaction tests`, () => {
  it('clicking the image should open the products page', () => {
    loadStory(component, 'Default')
    cy.get(productCardImage).should('be.visible')
    cy.get(productCardImage).click()
    cy.url().should('contain', '/product')
  })
})

我的测试继续运行,http://localhost:9002似乎http://localhost:9002/product/productId在测试服运行时重定向到是导致赛普拉斯崩溃/失败的原因,而赛普拉斯试图转到https://localhost:9002/__/

我想知道如何单击此图像并重定向到 url 而不会在 Cypress 中导致此崩溃/失败。

2个回答

赛普拉斯不支持跨域。

示例:第 1 步:您导航到 google 第 2 步:搜索 Gmail 第 3 步:点击 gmail 链接

您正在从 Google.com 切换到 gmail.com - cypress 不支持此功能。

解决方法 1:您可以将 set href 属性值删除为空白,如下所示:

target="_blank" 以便在同一页面打开。

解决方法 2:

将第 1 步和第 2 步放在一个测试迭代中

并将步骤 3 放在另一个迭代中

他们是httpto的问题https

见附件