繁体   English   中英

基于浏览器的身份验证场景中的基于脚本的测试

[英]Script based testing in browser based auth scenario

我们有一个 web api,其中在调用基于浏览器的身份验证后生成身份验证令牌。 在没有用户操作的情况下,如何通过 CI/CD 管道中的脚本自动执行此操作

详细信息取决于您的具体技术堆栈,但正如评论中指出的那样,您将必须使用无头浏览器。 这是一款行为类似于浏览器但没有用户界面并通过脚本控制的软件。 看看cypress.io因为他们有一个非常好的工具来满足你的需要。

您可以查看我们在 Curity 创建的示例: https://github.com/curityio/redirect-action-example/blob/master/tests/cypress/e2e/authenticationAction.cy.js这显示了一个 Cypress通过无头浏览器执行用户身份验证并从响应中获取 ID 令牌的测试。

在此 repo 中,您还将找到 GitHub Actions 工作流的定义,因此您可以检查我们如何将所有这些放在一起并通过 GitHub Actions 进行测试。

如果您的身份验证流程很简单,您实际上可以使用 curl 命令编写脚本。 Curl 能够发送和接收 cookies,因此它可以模拟浏览器请求。 使用 curl,您将不得不硬编码正在发送的请求及其 model,因此对于一些复杂的流程来说可能会更棘手一些。 这是我们在 Curity 创建的另一个示例,其中 curl 用于执行登录流程: https://github.com/curityio/oauth-agent-kotlin-spring-fapi/blob/master/test/login.sh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM