在Cypress中仅为一个测试禁用Web安全性

15
阅读了Cypress有关Web安全和何时禁用它的文档后,我决定确实需要这样做。是否有一种方法可以仅针对一个特定的测试/测试套件禁用此功能? 我正在使用版本3.4.1,并且此配置在cypress.json中设置-因此对于所有测试都是全局的。 是否有一种方法可以仅禁用一个测试的Web安全性?谢谢!
2个回答

1

原始回答:

这对你有用吗?

describe("test the config json", function () {
    it("use web security false here", function () {
      Cypress.config('chromeWebSecurity',false);
      cy.visit("https://www.google.com");
      console.log(Cypress.config('chromeWebSecurity'));
    });

    it("use web security true here", function () {
      Cypress.config('chromeWebSecurity',true);
      cy.visit("https://www.google.com");
      console.log(Cypress.config('chromeWebSecurity'));
    });
  });

从控制台日志中可以看到配置已更改。 enter image description here

在此处查看文档https://docs.cypress.io/guides/references/configuration.html#Cypress-config

更新:

在看到DurkoMatKo的评论后,我设法找到了一个测试“chromeWebSecurity”选项的URL。它没有像预期的那样工作。 我认为更改此配置可能无法在运行相同的浏览器时起作用,因为这更像是一种浏览器功能,将确定何时启动。 在这种情况下,我所能想到的就是使用不同的配置运行Cypress。

Cypress文档here 显示了清晰的步骤。 希望这有所帮助。


哇!今晚会尝试一下并告诉你。谢谢! - DurkoMatko
谢谢您的时间,但似乎不起作用 :/ 我仍然收到跨域错误。如果我使用 cypress.json 禁用它,那么我就不会再收到错误了。 - DurkoMatko
1
抱歉我没有有效的URL进行测试。我认为你是对的。配置已更改,但未应用于正在运行的Cypress。我还没有找到一个理想的方法来解决这个问题。我只更新了我的答案以提供一种解决方法。如果你有更好的解决方案,请告诉我。谢谢。 - Pigbrainflower
非常感谢您的帮助。我会按照您指出的方向(多个配置文件)前进。如果我们没有找到在运行时仅为一个测试禁用WebSecurity的解决方案,您是否可以接受我不接受答案?也许将来会有人能够回答这个问题...不确定在这种情况下SO规则是如何的。 - DurkoMatko
1
在我的情况下,它是有效的。但我需要设置 cypress.json 文件为 {"chromeWebSecurity": false},这样在我的测试中才能使用 Cypress.config('chromeWebSecurity',true); 将该设置更改为“true”。 - Jasp402
显示剩余3条评论

0
在我的情况下,它的工作方式如下。
第一件事是将chromeWebSecurity设置为false
//cypress.json 
{
"chromeWebSecurity": false
}

然后我所做的是在将其分配给Cypress.config之前,使用true

    //cypress/integration/testing.spec.js
    context('DEMO-01', () => {
    beforeEach(function () {
        Cypress.config('chromeWebSecurity', true);
    });
    describe('CP001 - start dasboard', () => {
        it('P01: open dashboard', () => {
            cy.visit(URL);
        });
    });
});

另一个评论如果我没记错的话也是这样建议的,对吧?我当时尝试过,但没有成功。但是时代可能已经改变了:D 谢谢你的时间!:) - DurkoMatko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接