在 Cypress Test Automation 中的测试期间更改 baseUrl设置为 null

问题描述

我需要在 cypress.json 文件中设置 baseUrl 以避免在 cy.visit() 中不必要的页面重新加载并在某些测试期间覆盖 baseUrl。

cypress.json

{
   "baseUrl": "https://dev.testhub.io/"
} 

测试步骤

  1. 通过点击 UI 中的示例下载按钮下载示例
  2. 使用系统命令 (exec) 解压缩下载的示例
  3. 单击 UI 中的复制按钮以复制配置值
  4. 将复制的配置值粘贴到解压示例中的文件

test.spec.ts

it("sample test",function () {
                    Cypress.config('baseUrl',null);
                    cy.log("logvalue" +Cypress.config().baseUrl);
                    appQuickStart.downloadSample("java");
                    appQuickStart.unzipSample(sampleDownloadDirectory,sampleJavaAppDownloadLocation);
                    appQuickStart.clickcopyConfigsButtonFromUI();  
                    appQuickStart.pastecopiedConfigToClipboard(sampleJavaAppExtractLocation);
                });

pastecopiedConfigToClipboard 方法,用于将配置复制到 clipbaord,然后将其写入文件 /src/config.json

static pastecopiedConfigToClipboard(sampleAppLocation){
        cy.wait(2000);
            cy.task("getClipboard").then((value) => {
                cy.writeFile(sampleAppLocation + "/src/config.json",value);
                cy.log("Before copy to config file" + value);
                cy.wait(10000);
                cy.log("After write to config file" + value);
                cy.readFile(sampleAppLocation + "/src/config.json").then((text) =>{
                });
            });
    }

clickcopyConfigsButtonFromUI()

static clickcopyConfigsButtonFromUI() {

        cy.get(".application-sample-config-editor .copy").click({ force: true });
        cy.wait(7000);
    }
  1. 我已经在 cypress.json 文件中设置了上面的 baseUrl。当它从那里设置的测试从 appQuickStart.pastecopiedConfigToClipboard() 失败时,它将调用任务以通过任务将一些内容复制到剪贴板。我用于复制到剪贴板的插件https://www.npmjs.com/package/clipboardy

  2. 然后我尝试在将执行此方法的 it() 中将 baseUrl 设置回 null。测试仍然在同一步骤失败。在我添加的日志中,它显示 baseUrl 设置为 null。

  3. 如果我从 cypress.json 中删除 baseUrl 配置并执行测试,则测试将执行而不会出现任何故障。

将 cypress.json 中的 baseurl 设置为剪贴板等插件以使其失败时是否有任何限制。

感谢您对此的投入

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)