首页 > 解决方案 > 如果 cy.visit status 返回 404 状态代码,请重试不同的 url

问题描述

我正在为我的应用程序编写一些赛普拉斯测试,这些测试应该能够通过使用防毒面具欺骗在沙盒环境和暂存环境中运行。问题是基本 url 略有不同(一个使用 https,一个使用 http)。如果 https(暂存)通过使用条件返回 404,我正在尝试让 cy.visit 命令使用以 http(沙箱)开头的 url。任何建议,将不胜感激!我正在尝试做这样的事情:

cy.visit(staging_url,  {
        if (resp.status === 404) {
            cy.visit(sandbox_url)
        }
});

标签: javascriptcypress

解决方案


尝试添加failOnStatusCode: false到 Diogo Rocha 的解决方案:

cy.request({staging_url, failOnStatusCode: false}).then((response) => {
 if (response.isOkStatusCode) {
    cy.visit(staging_url);
  } else {
    cy.visit(sandbox_url);
  }
});

推荐阅读