Asp.net core 单元测试ASP.NET核心和身份验证

Asp.net core 单元测试ASP.NET核心和身份验证,asp.net-core,asp.net-core-mvc,azure-active-directory,openid-connect,Asp.net Core,Asp.net Core Mvc,Azure Active Directory,Openid Connect,我正在使用Selenium对ASP.NET Core MVC web app中的Azure AD应用程序进行单元测试,除了在DOM中搜索登录输入元素外,我还在寻找一种更好的登录测试用户的方法。我正在Azure DevOps中进行单元测试,因此不能使用浏览器UI登录。有什么想法吗?在基于OAuth的技术中,如果没有交互式重定向,作为用户获取令牌是不容易的。出于自动化测试的目的,最简单的选择通常是使用。但这不建议在真实用户界面中用于生产。我甚至不知道微软允许这样做。我能够让它与一个客户端密码一起工作

我正在使用Selenium对ASP.NET Core MVC web app中的Azure AD应用程序进行单元测试,除了在DOM中搜索登录输入元素外,我还在寻找一种更好的登录测试用户的方法。我正在Azure DevOps中进行单元测试,因此不能使用浏览器UI登录。有什么想法吗?

在基于OAuth的技术中,如果没有交互式重定向,作为用户获取令牌是不容易的。出于自动化测试的目的,最简单的选择通常是使用。但这不建议在真实用户界面中用于生产。

我甚至不知道微软允许这样做。我能够让它与一个客户端密码一起工作,以获取访问令牌和ID令牌。现在,我该如何将其放入cookie中呢?啊-我假设您使用的是基于令牌的Web UI,在这种情况下,我的建议将很好地用于测试。基于Cookie的应用程序有很多隐藏的复杂性,这只是一个方面。如果你需要cookies来调用API,你需要像一个真正的浏览器一样,模拟发布DOM元素值。这就是我现在正在做的,非常痛苦。那我就到此为止,因为我不想切换到在客户机上存储令牌,只是为了简化单元测试。