【问题标题】:Write Cypress tests on an intranet application protected by windows authenticaation在受 Windows 身份验证保护的 Intranet 应用程序上编写 Cypress 测试
【发布时间】:2019-08-04 12:22:48
【问题描述】:

我只是想为受 Windows 身份验证保护的应用程序之一编写测试。

但是当赛普拉斯尝试打开应用程序时收到错误消息,我被阻止了。

我可以在我的本地主机上运行应用程序,而使用 chrome 没有任何问题。 当我运行应用程序时,它需要我的 Windows 登录并验证为授权用户。

但是,当尝试使用 Cypress 打开网站时,我得到 401。 我怀疑这是由于赛普拉斯跑步者在不同的帐户下运行测试(我猜)这是无效的 Windows 用户帐户,因此返回 401。

以下是失败测试的屏幕截图。

有谁知道如何解决这个问题并继续编写其他测试?

如果您需要对此进行澄清,请与我联系。

感谢您在这方面的及时回复。

RSF

更新:

@soccerway,回答帮助我让它工作。 另请访问以下内容以获取更多信息: https://github.com/bjowes/cypress-ntlm-auth/blob/master/README.md

【问题讨论】:

    标签: cypress


    【解决方案1】:

    能否请您参考以下cypress-ntlm-auth 插件进行windows 身份验证。另请参阅以下链接;

    https://www.npmjs.com/package/cypress-ntlm-auth

    试试下面的语法:

    cy.ntlm(ntlmHost, username, password, [domain, [workstation, [ntlmVersion]]]);
    

    注意: domain、workstation、ntmlVersion 是可选值。 ntmlversion 有效值为 1 或 2

    【讨论】:

    • 嗨@soccerway,这对我有帮助。但无法让它在我的本地主机上运行。但我能够让它与托管在同一域/AD 上的另一台主机一起工作。我将研究本地主机问题。感谢您的回答。
    • 虽然这不是很安全。 Puppeteer 浏览器没有这个问题。想知道柏树是否可以效仿。 @soccerway 您能否建议如何使用 cypress ntlm 而无需在测试服务器上存储这样的密码?我们的团队没有任何无头帐户,也没有人愿意将自己的 deets 保存在测试服务器上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 2014-11-20
    • 2010-10-13
    • 2010-09-09
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多