Selenium 和单点登录

标签 selenium junit single-sign-on

我需要单独运行 Selenium Webdriver JUnit 测试,但也需要同时运行。我一直在寻找一种解决方案,基本上可以减少一个问题:我正在测试一个使用 SSO 的应用程序。

这意味着,我在运行测试时必须手动登录。另一方面,这甚至是所希望的,因为您不想在任何文件中存储关键密码。当您运行单个测试时,这甚至没有害处。但是,当您需要运行所有这些测试并且您有大约 100 个测试时,您将必须登录 100 次。不可能,何塞!

我发现一种可能的解决方案是 Java 代理服务器。我找到了显示如何创建和处理一个代码,但没有显示其中的 SSO 部分。谁能帮我?或者密码会以某种方式存储在某个地方吗?

最佳答案

您需要了解有关 SSO 实现的更多信息。我建议使用浏览器的开发工具和调试代理(例如 Fiddler 或 Charles)来捕获 SSO 身份验证期间浏览器和服务器之间的 HTTP 流量,然后在 Java Web 客户端中实现这些请求。 SSO 身份验证通常会导致设置 cookie。如果您在身份验证阶段后捕获此 cookie,那么您可以在每个 Selenium 测试中重用此 cookie。

身份验证需要凭据,您可以将其放入属性文件中。您可以从源代码管理中排除此属性文件,并要求所有开发人员在运行测试时使用自己的凭据。

关于 Selenium 和单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13084845/

相关文章:

nginx - 使用 nginx SAML2 的 Google (G Suit) 身份提供商

oauth - Spring Security 3 使用 OAuth2 进行 SSO

c# - 在 Windows 主机中运行 selenium 时出现错误预期的浏览器二进制位置

python - 如何使用 selenium 记录 mathjax 加载时间

java - JUnit的@ContextConfiguration(来自/webapp的配置)

java - JUnit : Is there a way to skip a test belonging to a Test class's parent?

.net - .NET 的 OpenSSO 或 ESOE?

java - 如何验证整列具有相同的值

java - 找不到带有 JSON 配置文件的 Chrome 二进制文件

java - JUnit测试: How to test for nested Exeption?