问题描述
我需要在 cypress.json 文件中设置 baseUrl 以避免在 cy.visit() 中不必要的页面重新加载并在某些测试期间覆盖 baseUrl。
cypress.json
{
"baseUrl": "https://dev.testhub.io/"
}
测试步骤
- 通过点击 UI 中的示例下载按钮下载示例
- 使用系统命令 (exec) 解压缩下载的示例
- 单击 UI 中的复制按钮以复制配置值
- 将复制的配置值粘贴到解压示例中的文件
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);
}
-
我已经在 cypress.json 文件中设置了上面的 baseUrl。当它从那里设置的测试从 appQuickStart.pastecopiedConfigToClipboard() 失败时,它将调用任务以通过任务将一些内容复制到剪贴板。我用于复制到剪贴板的插件是 https://www.npmjs.com/package/clipboardy。
-
然后我尝试在将执行此方法的 it() 中将 baseUrl 设置回 null。测试仍然在同一步骤失败。在我添加的日志中,它显示 baseUrl 设置为 null。
-
如果我从 cypress.json 中删除 baseUrl 配置并执行测试,则测试将执行而不会出现任何故障。
将 cypress.json 中的 baseurl 设置为剪贴板等插件以使其失败时是否有任何限制。
感谢您对此的投入
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)